OAuth2-PHP 库客户端授权


oauth2-php library client authorize

我正在使用托管在Google代码上的oauth2-php库。我对示例代码感到困惑,特别是如何从addClient.php页面转到authorize.php页面。

目前,我在addClient.php页面的<form>中输入了一些凭据,这些凭据已正确INSERT到我的数据库中。不幸的是,当我将浏览器指向authorize.php页面时,出现以下错误:

{"error":"invalid_client"}

有人可以帮助我理解为什么authorize.php不从我的数据库中提取我的客户端数据吗?

为了使用给定的示例代码访问受保护的资源:

1) 创建客户端(提供客户端 ID、客户端密码、重定向 URI):

/addclient.php

2) 从授权服务器获取身份验证代码:

/authorize.php?client_id=foo&response_type=code

它会将您重定向到步骤 1 中指定的重定向 URI,将code添加为 GET 参数。

3) 执行POST请求以获取访问令牌:

/token.php 

使用后参数:

grant_type=code&client_id=foo&code=[AUTH_CODE_FROM_STEP_2]&client_secret=[SECRET]&redirect_‌​uri=[REDIRECT_URI_FROM_STEP_1]

它将为您提供包含access_token的 JSON。

4)获取受保护的资源(oauth_token可以作为GETPOST参数传递)

/protected_resource.php?oauth_token=[ACCESS_TOKEN_FROM_STEP_3] 

我也不知道你是否正在处理一些遗留代码,但这个库已经过时了,因为它基于 09(草案)版本的 oauth 2。官方页面上引用了最新的实现 http://oauth.net/2/。你可能想看看它们。