Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/ConnectedAccount/ProviderData/Microsoft.php
<?php

namespace XF\ConnectedAccount\ProviderData;

class
Microsoft extends AbstractProviderData
{
    public function
getDefaultEndpoint()
    {
        return
'me';
    }

    public function
getProviderKey()
    {
        return
$this->requestFromEndpoint('id');
    }

    public function
getUsername()
    {
        return
$this->requestFromEndpoint('name');
    }

    public function
getEmail()
    {
       
$emails = $this->requestFromEndpoint('emails');
        if (empty(
$emails['preferred']))
        {
            return
null;
        }

       
$validator = \XF::app()->validator('Email');
        if (!
$validator->isValid($emails['preferred']))
        {
            return
null;
        }

        return
$emails['preferred'];
    }

    public function
getDob()
    {
        return
$this->prepareBirthday(
           
$this->requestFromEndpoint('birth_day') . '/' .
           
$this->requestFromEndpoint('birth_month') . '/' .
           
$this->requestFromEndpoint('birth_year'), 'd/m/y'
       
);
    }

    public function
getAvatarUrl()
    {
       
$picture = $this->requestFromEndpoint(null, 'GET', 'me/picture?suppress_redirects=true');

        if (empty(
$picture['location']))
        {
            return
null;
        }

        return
$picture['location'];
    }
}