Google OAuth 2.0请求格式

时间:2015-02-20 02:33:10

标签: google-api google-oauth

网络应用程序如何将用户重定向到Google进行身份验证,并在Google的OAuth 2.0端点的URL参数中包含已签名的请求?

例如,如何将以下明文请求转换为签名和加密的请求?

  

https://accounts.google.com/o/oauth2/auth?client_id=424911365001.apps.googleusercontent.com&response_type=code&scope=openid%20email&redirect_uri=https://oa2cb.example.com/&state=security_token%3D138r5719ru3e1%26url%3Dhttps://oa2cb.example.com/myHome&login_hint=jsmith@example.com&openid.realm=example.com&hd=example.com

2 个答案:

答案 0 :(得分:0)

您无法重定向URI只是将身份验证返回的页面位置,即可以处理呼叫的位置。它必须是一个静态页面,路径。

它在Google Developer Console中明确指出

  

每行一个URI。需要一个协议,没有URL片段,没有   相对路径。不能是非私有IP地址。

有效的重定向URI

http://localhost/authorize/ 
http://localhost/google-api-php-client-samples/PlusLogin/index.php 
http://test.daimto.com/Oauth2.php 
http://WWW.daimto.com/Oauth2.php 

Oauth2示例:

https://accounts.google.com/o/oauth2/auth?client_id={clientid}.apps.googleusercontent.com&redirect_uri=http://localhost/google-api-php-client-samples/Analytics/Oauth2.php &scope=https://www.googleapis.com/auth/analytics.readonly&response_type=code

答案 1 :(得分:0)

目前无法向Google的授权终端发送签名(或加密)身份验证请求,因为Google不支持此功能。

然而,Google的身份验证协议符合OpenID Connect标准,并且该规范具有可选功能,允许发送JWT中表示的身份验证请求,JWT可以是签名和/或加密的JSON对象。请参阅:http://openid.net/specs/openid-connect-core-1_0.html#RequestObject将来,Google可能会开始支持该功能,但目前尚不支持。