如何缩小 Laravel 5 中的 Socialite 范围?

How do I reduce the Socialite scope in Laravel 5?

我成功地使用了 Laravel 5 的 socialite 功能,但我觉得它要求的权限超出最终用户注册时的合理范围。例如,Google 告诉我的用户我需要:

Know your basic profile info and list of people in your circles. Includes people in circles that are not public on your profile.

Allow Google to let the people in these circles know that you have signed in to this app with Google: Your circles

我只需要用户的姓名和电子邮件地址。我怎样才能缩小范围,让用户不必担心我代表他们发帖?

Laravel 的文档列出了这个:

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

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

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

事实证明,这些额外的权限请求仅在 API 在我的 Google 开发控制台中被禁用时才会出现。范围请求为何会更改没有意义,但如果不启用 API,请求将无法正常工作。启用 Google Plus API 只是将所有权限更改为 'offline access'。对于最终用户来说看起来更干净、更好。

仅供将来参考,您可以通过以下方式更改它:

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/