我正在使用oauth2-php library hosted on Google code。我对the example code感到困惑,特别是如何从addClient.php
页面转到authorize.php
页面。
目前,我在<form>
页面的addClient.php
中输入了一些凭据,这些凭据已正确INSERT
到我的数据库中。不幸的是,当我将浏览器指向authorize.php
页面时,我收到以下错误:
{"error":"invalid_client"}
有人可以帮助我理解为什么authorize.php
没有从我的数据库中提取客户端数据?
答案 0 :(得分:1)
为了使用给定的示例代码访问受保护资源:
1)创建客户端(提供客户端ID,客户端密钥,重定向uri):
/addclient.php
2)从授权服务器获取授权码:
/authorize.php?client_id=foo&response_type=code
它会将您重定向到步骤1中指定的重定向uri,并将code
添加为GET
参数。
3)执行POST
请求以获取访问令牌:
/token.php
与post params:
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]
此外,我不知道您是否正在处理一些遗留代码,但此lib已过时,因为它基于oauth 2的09(草案)版本。官方页面上引用了实现{{3}这是最新的。你可能想看看它们。