我如何减少Laravel 5中的社交范围



我成功地使用了Laravel 5的Socialite功能,但是我觉得它要求的权限比最终用户注册时更有意义。例如,Google告诉我的用户我需要:

了解您的基本个人资料信息和圈子中的人列表。 包括在您的个人资料上不公开的圈子的人。

允许Google让这些圈子里的人知道您有 与Google登录此应用程序:您的圈子

我只需要用户的姓名和电子邮件地址。我如何减少范围,以便用户不必担心我代表他们发布内容?

Laravel的文档列出以下列表:

http://laravel.com/docs/5.0/authentication#social-authentication

return Socialize::with('github')->scopes(['scope1', 'scope2'])->redirect();

但是没有关于我可以使用哪些范围的文档,或者是否可以删除默认范围。有什么想法吗?

仅供将来参考,这就是您可以更改它的方式:

public function redirectToProvider()
{
    $scopes = [
        'https://www.googleapis.com/auth/plus.me',
        'https://www.googleapis.com/auth/plus.profile.emails.read'
    ];
    return Socialite::driver('google')->scopes($scopes)->redirect();
}

您也可以在此处使用所有Google范围玩:https://developers.google.com/oauthplayground/

事实证明,这些额外的权限请求仅在我的Google Dev Console中禁用API时出现。对于为什么范围请求会更改的原因是没有意义的,但是无论如何,该请求在没有启用API的情况下无法正常工作。启用Google Plus API只是将所有权限更改为"离线访问"。对于最终用户来说,看起来更干净,更好。

相关内容

  • 没有找到相关文章