我可以使用Google身份验证申请可选权限吗?
首先我请求基本权限:
url = "https://accounts.google.com/o/oauth2/auth?scope=profile&response_type=code&redirect_uri=my_site.com/g_step2&client_id=CLIENT_ID
对于Facebook身份验证有用的是,redirect_url调用一个请求额外权限(电子邮件)的函数。所以这对于谷歌等同于:
url = "https://accounts.google.com/o/oauth2/auth?scope=email&response_type=code&redirect_uri=my_site.com/g_final&client_id=CLIENT_ID
对于Facebook,无论用户的响应如何,都会重定向到g_final(第二个redirect_uri)。在这里,我要么或者无法访问电子邮件。
然而,Google会在两个单独的请求中处理这些问题。如果用户拒绝了电子邮件请求,那么它就全部结束了。不调用redirect_uri。
我想我可以事先询问用户,并根据他的回复,要求基本或两种权限,但如果有办法让这是谷歌身份验证流程的自然部分,那就太好了。