Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/HybridAuth/Provider/WindowsLive.php
Строк: 89
<?php
/*!
* Hybridauth
* https://hybridauth.github.io | https://github.com/hybridauth/hybridauth
*  (c) 2017 Hybridauth authors | https://hybridauth.github.io/license.html
*/

namespace HybridauthProvider;

use 
HybridauthAdapterOAuth2;
use 
HybridauthExceptionUnexpectedApiResponseException;
use 
HybridauthData;
use 
HybridauthUser;

/**
 * Windows Live OAuth2 provider adapter.
 */
class WindowsLive extends OAuth2
{
    
/**
    * {@inheritdoc}
    */
    
public $scope 'wl.basic wl.contacts_emails wl.emails wl.signin wl.share wl.birthday';

    
/**
    * {@inheritdoc}
    */
    
protected $apiBaseUrl 'https://apis.live.net/v5.0/';

    
/**
    * {@inheritdoc}
    */
    
protected $authorizeUrl 'https://login.live.com/oauth20_authorize.srf';

    
/**
    * {@inheritdoc}
    */
    
protected $accessTokenUrl 'https://login.live.com/oauth20_token.srf';

    
/**
    * {@inheritdoc}
    */
    
protected $apiDocumentation 'https://msdn.microsoft.com/en-us/library/hh243647.aspx';

    
/**
    * {@inheritdoc}
    */
    
public function getUserProfile()
    {
        
$response $this->apiRequest('me');

        
$data = new DataCollection($response);

        if (! 
$data->exists('id')) {
            throw new 
UnexpectedApiResponseException('Provider API returned an unexpected response.');
        }

        
$userProfile = new UserProfile();

        
$userProfile->identifier    $data->get('id');
        
$userProfile->displayName   $data->get('name');
        
$userProfile->firstName     $data->get('first_name');
        
$userProfile->lastName      $data->get('last_name');
        
$userProfile->gender        $data->get('gender');
        
$userProfile->profileURL    $data->get('link');
        
$userProfile->email         $data->filter('emails')->get('preferred');
        
$userProfile->emailVerified $data->filter('emails')->get('account');
        
$userProfile->birthDay      $data->get('birth_day');
        
$userProfile->birthMonth    $data->get('birth_month');
        
$userProfile->birthYear     $data->get('birth_year');
        
$userProfile->language      $data->get('locale');

        return 
$userProfile;
    }

    
/**
    * {@inheritdoc}
    */
    
public function getUserContacts()
    {
        
$response $this->apiRequest('me/contacts');

        
$data = new DataCollection($response);

        if (! 
$data->exists('data')) {
            throw new 
UnexpectedApiResponseException('Provider API returned an unexpected response.');
        }

        
$contacts = [];

        foreach (
$data->filter('data')->toArray() as $idx => $entry) {
            
$userContact = new UserContact();

            
$userContact->identifier  $entry->get('id');
            
$userContact->displayName $entry->get('name');
            
$userContact->email       $entry->filter('emails')->get('preferred');

            
$contacts[] = $userContact;
        }

        return 
$contacts;
    }
}
Онлайн: 1
Реклама