提问者:小点点

如何减少拉威尔5中的社交名流范围?


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

了解你的基本个人资料信息和圈子里的人的名单。包括在您的个人资料中不公开的圈子中的人。

允许Google让这些圈子里的人知道你已经用Google:Your circles登录了这个应用程序

我只需要用户的名字和电子邮件地址。我该如何缩小范围,让用户不用担心我代发东西?

Laravel的文档列出了以下内容:

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

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

但是没有关于我可以使用什么作用域的文档,也没有关于我是否可以删除默认作用域的文档。有什么想法吗?


共2个答案

匿名用户

仅供将来参考,这是您如何更改它:

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 Scope:https://developers.google.com/oauthplayground/

匿名用户

事实证明,这些额外的权限请求只在我的Google开发控制台中禁用API时出现。至于作用域请求为什么会更改,这是没有意义的,但是如果不启用API,请求无论如何都不会工作。启用Google Plus API只需将所有权限更改为“脱机访问”。对于最终用户来说,看起来更干净、更好。