如何减少 Laravel 5 中的社交名流范围?
Posted
技术标签:
【中文标题】如何减少 Laravel 5 中的社交名流范围?【英文标题】:How do I reduce the Socialite scope in Laravel 5? 【发布时间】:2015-07-14 03:03:45 【问题描述】:我成功地使用了 Laravel 5 的社交名流功能,但我觉得它要求的权限比最终用户注册时的意义要多。例如,Google 告诉我的用户我需要:
了解您的基本个人资料信息和您圈子中的人员列表。 包括未在您的个人资料上公开的圈子中的人。
和
允许 Google 让这些圈子中的人知道你有 使用 Google 登录此应用:您的圈子
我只需要用户名和电子邮件地址。如何缩小范围,让用户不必担心我代表他们发布内容?
Laravel 的文档列出了这个:
http://laravel.com/docs/5.0/authentication#social-authentication
return Socialize::with('github')->scopes(['scope1', 'scope2'])->redirect();
但是没有关于我可以使用哪些范围或是否可以删除默认范围的文档。有什么想法吗?
【问题讨论】:
【参考方案1】:仅供参考,您可以通过以下方式对其进行更改:
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/
【讨论】:
【参考方案2】:事实证明,这些额外的权限请求仅在我的 Google 开发控制台中禁用 API 时出现。范围请求为什么会改变是没有意义的,但是如果没有启用 API,请求无论如何都不会工作。启用 Google Plus API 只是将所有权限更改为“离线访问”。对最终用户来说看起来更干净、更好。
【讨论】:
以上是关于如何减少 Laravel 5 中的社交名流范围?的主要内容,如果未能解决你的问题,请参考以下文章