如何缩小 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/
我成功地使用了 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/