Google oauth2 signUp不会提示用户提供基本权限

时间:2017-06-15 16:53:03

标签: php google-oauth google-oauth2

尝试使用google功能添加登录到我的PHP站点。使用PHP客户端库(“google / apiclient”:“^ 2.0”)

流程:
用户点击验证网址 - >转到帐户选择页面 - >用户登录 - >现在不要求用户授予我的SITE基本权限。相反,它会自动重定向到我的网站,在那里可以访问用户的完整个人资料。

基本上,用户无法获得PROMPT以查看正在访问的基本权限。

每当网站想要查看我的个人资料/使用谷歌登录时,AFAIK google会问我。有一种强烈的感觉我做错了。

btw 如果请求范围Google_Service_Drive :: DRIVE_METADATA_READONLY,则会出现提示。

代码:

$gClient = new Google_Client();
$gClient->setApplicationName($clientName);
$gClient->setClientId($clientId);
$gClient->setClientSecret($clientSecret);
$gClient->setRedirectUri($redirectURL);
$gClient->setIncludeGrantedScopes(false);
// $gClient->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);
$gClient->addScope(['https://www.googleapis.com/auth/userinfo.email','https://www.googleapis.com/auth/userinfo.profile']);

$authUrl =  filter_var($gClient->createAuthUrl(), FILTER_SANITIZE_URL);

authURL本身(稍微修改了值):

https://accounts.google.com/signin/oauth/oauthchooseaccount?
client_id=CLIENT_ID.apps.googleusercontent.com&
as=-98432179o&
nosignup=1&
destination=http%3A%2F%2Flocalhost&
approval_state=!RANDOM-STRING1tcnJnSxIfVXhhMTh0KJH90DJXIKdtUjlFUFpiSXloVQ·ADiIGyEAAAAAWUQECDfVGilus-TfaaUHFtCDC-4RANDOMSTUFF&
xsrfsig=AHgIfL8e1NAPEmE6mWrwx1JLc_VIziWT_g&
flowName=GeneralOAuthFlow

这是预期的行为吗?难道我做错了什么 ?如果是这样的话?

2 个答案:

答案 0 :(得分:2)

这是预期的行为。

在此处引用博文:https://developers.googleblog.com/2017/04/updates-to-end-user-consent-for-3rd.html

" ...用户应该对标准"电子邮件地址"之外的请求权限有更大的了解。和"个人资料"同意。通过单击以选择其帐户,用户同意这些核心权限。仅当应用程序请求其他权限时,才会显示辅助同意屏幕。 ..."

答案 1 :(得分:0)

您可以尝试使用其他帐户,或者在撤消对此应用程序的权限之后。应用拥有权限后,下次登录时不会再询问您这些权限。

相关问题