我正在使用托管在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
可以作为GET
或POST
参数传递)
/protected_resource.php?oauth_token=[ACCESS_TOKEN_FROM_STEP_3]
我也不知道你是否正在处理一些遗留代码,但这个库已经过时了,因为它基于 09(草案)版本的 oauth 2。官方页面上引用了最新的实现 http://oauth.net/2/。你可能想看看它们。