请咨询。如果我需要在某处发布,但我真的需要你的帮助。我有这个需要完成的任务项目,它需要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,
),
),
答案 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