Как использовать новый API Microsoft Graph для входа пользователей на сайт YII - PullRequest
0 голосов
/ 25 марта 2019

Я создаю сайт, который требует oauth-авторизации через Microsoft.В yii / authclient есть только живой клиент, и он больше не работает.

Я пытался написать свой собственный, но что-то идет не так.Насколько я понял, моя AuthAction не видит clientId и возвращает исключение 404 без текста.Вот мой код клиента авторизации.

Что я получаю What I get

Запуск метода класса AuthAction (по умолчанию) AuthAction class method run (it's default)

class Office365OAuth extends OAuth2
{
    public $authUrl = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize';
    public $tokenUrl = 'https://login.microsoftonline.com/common/oauth2/v2.0/token';
    public $apiBaseUrl = 'https://login.microsoftonline.com/common/oauth2/v1.0';

    public $scope = null;

    public function init()
    {
        parent::init();
        if ($this->scope === null)
        {
            $this->scope = 'https://graph.microsoft.com/User.Read';
        }
    }

    /**
     * Overrides default function to fix malformed url
     */
    public function getReturnUrl()
    {
        return $this->returnUrl;
    }

    protected function defaultName()
    {
        return 'office365';
    }

    protected function defaultTitle()
    {
        return 'Office365';
    }

    /**
     * For popup mode
     */
    protected function defaultViewOptions()
    {
        return [
            'popupWidth' => 800,
            'popupHeight' => 500,
        ];
    }

    /**
     * Gets new auth token to replace expired one.
     */
    protected function initUserAttributes()
    {
        return $this->api('me', 'GET');
    }
}

Итак, как можноЯ аутентифицируюсь через MS graph?

...