尝试使用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
这是预期的行为吗?难道我做错了什么 ?如果是这样的话?
答案 0 :(得分:2)
这是预期的行为。
在此处引用博文:https://developers.googleblog.com/2017/04/updates-to-end-user-consent-for-3rd.html
" ...用户应该对标准"电子邮件地址"之外的请求权限有更大的了解。和"个人资料"同意。通过单击以选择其帐户,用户同意这些核心权限。仅当应用程序请求其他权限时,才会显示辅助同意屏幕。 ..."
答案 1 :(得分:0)
您可以尝试使用其他帐户,或者在撤消对此应用程序的权限之后。应用拥有权限后,下次登录时不会再询问您这些权限。