1

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

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

允许 Google 让这些圈子中的人知道您已使用 Google 登录此应用:您的圈子

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

Laravel 的文档列出了这一点:

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

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

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

4

2 回答 2

3

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

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/

于 2015-09-27T03:06:51.597 回答
0

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

于 2015-05-04T17:19:23.123 回答