caseyamcl/oauthsupport

该软件包已被废弃,不再维护。作者建议使用league/oauth2-client软件包代替。

OAUTH 2.0 客户端库

v1.0 2012-12-10 21:25 UTC

This package is auto-updated.

Last update: 2022-02-01 20:49:12 UTC


README

!! 注意 !!: 该软件包已被废弃。作者推荐您使用league/oauth2-client代替

OAUTH 2.0 客户端库(草案 10 / 规范 1),由 Charron Pierrick 和 Berejeb Anis 从 https://github.com/vznet/oauth_2.0_client_php 分支而来

许可证

本代码遵循GNU LGPL发布

请勿更改文件的头信息。

本库是自由软件;您可以在GNU Lesser General Public License的条款下重新分发和/或修改,该许可证由自由软件基金会发布;许可证版本为2,或(根据您的选择)任何后续版本。

本库的发布是希望它将是有用的,但没有任何保证;甚至没有关于其适销性或特定用途适用性的暗示性保证。

有关更多详细信息,请参阅GNU Lesser General Public License。

安装

通过composer/packagist

require {
    ...
    'caseyamcl/Oauthsupport': 'dev-master'
}

使用方法

该库包含一个名为'AuthService'的抽象类,可以扩展以创建特定服务的OAuth 2.0客户端。

例如,代码中包含Facebook和Google类。这些类功能齐全,可用于生产环境。

要创建自己的客户端,创建一个扩展Oauth2\AuthService抽象类的类

class MyOauthClient extends \Oauth2\AuthService
{
    /**
     * Get the Authorization URL
     * 
     * @return string
     */
    public function getAuthUrl()
    {
        return "http://SOME/URL/To/Authorization/Endpoint";
    }

    /**
     * Get the token URL
     * 
     * @return string
     */
    public function getTokenUrl()
    {
        return "http://SOME/URL/To/Token/Endpoint";
    }

    /**
     * Get info once logged-in
     * 
     * @param string $accessToken
     * @return array  Array of info
     */
    public function getInfo($accessToken)
    {
        $infoUrl = 'http://SOME/URL/To/Api/Stuff';
        $this->client->setAccessToken($accessToken);
        return $this->client->get($infoUrl);
    }        
}