适用于初学者的Oauth 2.0 for PHP

时间:2014-09-15 07:53:17

标签: php oauth-2.0

请咨询。如果我需要在某处发布,但我真的需要你的帮助。我有这个需要完成的任务项目,它需要oauth2。不幸的是,我对这个事情很新。我是所有新手的noobest。 ,我一直在读这个site。问题是,这看起来需要关于oauth的中间知识,而且我很难跟上它,任何人都可以给我一些关于oauth2的链接或书籍,这些链接或书籍可供初学者使用,这对于这个oauth来说是新手。目前我正在使用Laravel框架,我尝试了这个package。但配置令人困惑。如果你有任何博客,教程或书籍,你可以分享,这将有助于像我这样的菜鸟,我会很高兴。我不想在没有正确理解一切的情况下使用这个oauth的东西。

'grant_types' => array(

        'authorization_code' => array(
            'class'            => 'League\OAuth2\Server\Grant\AuthCode',
            'access_token_ttl' => 3600,
            'auth_token_ttl'   => 3600,
        ),

        'password' => array(
            'class'            => 'League\OAuth2\Server\Grant\Password',
            'access_token_ttl' => 604800,
            'callback'         => function ($username, $password) {

                $credentials = array(
                    'email' => $username,
                    'password' => $password,
                );

                $valid = Auth::validate($credentials);

                if (!$valid) {
                    return false;
                }

                return Auth::getProvider()->retrieveByCredentials($credentials)->id;
            }
        ),

        'refresh_token' => array(
            'class'                 => 'League\OAuth2\Server\Grant\RefreshToken',
            'access_token_ttl'      => 3600,
            'refresh_token_ttl'     => 604800,
            'rotate_refresh_tokens' => false,
        ),

    ),

1 个答案:

答案 0 :(得分:2)

首先,您必须了解协议流程。

协议流程

 +--------+                               +---------------+
 |        |--(A)- Authorization Request ->|   Resource    |
 |        |                               |     Owner     |
 |        |<-(B)-- Authorization Grant ---|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(C)-- Authorization Grant -->| Authorization |
 | Client |                               |     Server    |
 |        |<-(D)----- Access Token -------|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(E)----- Access Token ------>|    Resource   |
 |        |                               |     Server    |
 |        |<-(F)--- Protected Resource ---|               |
 +--------+                               +---------------+

以下步骤涉及:

一个。客户端请求资源所有者授权。

B中。客户端接收授权授权,授权授权是代表资源所有者的凭证     授权

℃。客户端通过使用身份验证来请求访问令牌         授权服务器并提交授权许可。

d。授权服务器对客户端进行身份验证并进行验证         授权授权,如果有效,则发出访问令牌。

电子。客户端从资源请求受保护的资源         服务器并通过提供访问令牌进行身份验证。

F。资源服务器验证访问令牌,如果有效,         服务请求。

要正常工作,可以阅读并使用google-api-php-client