2013-09-05 64 views
4

你好心的互联网人。Google OAuth2.0是否支持资源所有者密码凭证流的OAuth流?

Google OAuth2.0是否支持资源所有者密码凭证流的OAuth流? ...如果是这样,那么:

答:)可以在Google OAuth2 Playground上测试此类OAuth流量吗? B.)有Google OAuth2.0和Google API的“资源所有者密码凭证流程”的任何示例吗?

根据最近在奥斯陆NDC 2013上发布的OAuth演示,此主题流程显然会一起跳过授权终点,并直接与OAuth2服务器的令牌终点对话。请求语法咒语就理应是这个样子:

grant_type=password& 
scope=resource& 
user_name=owner& 
password=password& 

我的理解是资源所有者密码凭据Flow是在后端企业型的情况下(受信任的应用程序,其中一个名 - 密码对可能是安全的存储)。

这个特定的OAuth流程不需要最终用户同意的交互(无需弹出浏览器接受,然后获取返回的授权码等)。在这个主题流程中,直接返回访问&刷新令牌:没有最终用户交互(尽管在输入用户名密码后)。

仔细查看Google OAuth文档(link to Google OAuth2 docs),似乎没有提及类似于资源密码凭证流的任何内容,但不确定这必然意味着Google明确不支持它。

任何帮助或建议将不胜感激。

在此先感谢

回答

4

据我所知,该号的OAuth 2.0的东西是谷歌帐户,为此,谷歌确实验证。

+0

只是为了执行Tim所说的,不支持资源所有者密码凭证。当然。 – mariuss

+0

Mucho感谢您的反馈......根据需要排除任何含糊/不确定性。 – woody

7

亲爱样的互联网人,

这是真的,资源所有者密码凭据流不支持谷歌而谷歌建议您使用已安装的应用程序流,这是在描述:https://developers.google.com/accounts/docs/OAuth2InstalledApp

您需要创建在谷歌控制台(https://code.google.com/apis/console)已安装的应用程序,当你这样做,你可以获取CLIENT_ID,并建立与参数的GET请求,这看起来就像这样:

https://accounts.google.com/o/oauth2/auth\? 
scope\=<scope>\& 
redirect_uri\=urn:ietf:wg:oauth:2.0:oob\& 
response_type\=code\& 
client_id\=<client_id fetched from google console> 

你会构造这个URL并在浏览器中导航到它,允许访问应用程序和谷歌会给你我认为是你可以用来获取凭据的代码。您可以使用这些凭据获取访问令牌并刷新它,并且此凭据是永久的。在github上有一个很好的例子。请注意,您只需手动获取这些凭证一次,然后将这些凭证保存在某处并继续使用它们以获取/刷新令牌。

希望这会有所帮助!

相关问题