【发布时间】:2015-04-21 15:31:03
【问题描述】:
网络应用程序如何将用户重定向到 Google 进行身份验证,并在 Google 的 OAuth 2.0 端点的 URL 参数中包含签名请求?
例如,如何将以下明文请求转换为签名和加密的请求?
【问题讨论】:
网络应用程序如何将用户重定向到 Google 进行身份验证,并在 Google 的 OAuth 2.0 端点的 URL 参数中包含签名请求?
例如,如何将以下明文请求转换为签名和加密的请求?
【问题讨论】:
您不能重定向 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
【讨论】:
目前无法将签名(或加密)身份验证请求发送到 Google 的授权端点,因为 Google 不支持。
然而,Google 的身份验证协议与 OpenID Connect 兼容,并且该规范具有一个可选功能,允许发送以 JWT 表示的身份验证请求,这些请求可以是签名和/或加密的 JSON 对象。请参阅:http://openid.net/specs/openid-connect-core-1_0.html#RequestObject 将来 Google 可能会开始支持该功能,但目前不支持。
【讨论】: