根据本教程,我能够在项目中使用Socialite:http://www.codeanchor.net/blog/complete-laravel-socialite-tutorial/
一切正常,但我对此有安全担忧。
if (!$request) {
return $this->getAuthorizationFirst($provider);
}
这会检查令牌。但这是检查令牌的正确方法吗?
答案 0 :(得分:1)
当我查看教程时,我注意到$this->getAuthorizationFirst($provider)
调用了在自定义getAuthorizationFirst
类中声明的AuthenticateUser
方法。
getAuthorizationFirst
方法只是强制社交名流驱动程序将用户重定向到提供程序(Facebook,Github,Twitter等),以便针对提供程序对用户进行身份验证。然后,该过程将经过身份验证的用户返回给调用应用程序。
// Authenticate by connecting to the Provider API
private function getAuthorizationFirst($provider) {
return $this->socialite->driver($provider)->redirect();
}
// Provider returns authenticated user for post-authentication processing
private function getSocialUser($provider) {
return $this->socialite->driver($provider)->user();
}
这与Socialite公开的进程有关,该进程将重定向并返回到指定的URL以进行后验证用户处理。
从安全角度来看,这依赖于调用提供程序API的应用程序并重新获得经过身份验证的用户。
社交网站只是公开了一种重定向和返回方法进行身份验证。如果没有实际重定向到提供程序API,您将无法执行OAuth身份验证。
根据Jeffrey Way在Laracasts.com上整理的教程,本教程看起来严重,可在此处找到:
https://laracasts.com/series/whats-new-in-laravel-5/episodes/9