oauth2-php库客户端授权

时间:2013-11-13 14:09:05

标签: php oauth oauth-2.0 google-code

我正在使用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没有从我的数据库中提取客户端数据?

1 个答案:

答案 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可以作为GETPOST参数传递)

/protected_resource.php?oauth_token=[ACCESS_TOKEN_FROM_STEP_3] 

此外,我不知道您是否正在处理一些遗留代码,但此lib已过时,因为它基于oauth 2的09(草案)版本。官方页面上引用了实现{{3}这是最新的。你可能想看看它们。