laravel socialite
基本流程:先认证或授权,再获取用户信息
术语
- 表单认证
- 授权
通过OAuth providers 使用 Laravel socialite - Socialte Providers 社区驱动网站
- 平台驱动器 ^|^
- OAuth服务凭证
路由
- 一个路由用于把用户重定向到 OAuth 提供器
- 另一个则用于在认证完成后接收相应提供器的回调请求。
Socialite 门面
//先获取授权
Socialite::driver('github')->redirect();
// 返回用户信息
Socialite::driver('github')->user();
OAuth提供者重定向请求
// 请求中支持可选参数
Socialite::driver('google')->with(['hd' => 'example.com'])->redirect();
// 访问作用域,会合并
Socialite::driver('github')->setScopes(['read:user','public_repo'])->redirect();
// 无状态认证 禁止会话状态验证
Socialite::driver('google')->stateless()->user();
获取用户实例
获取用户详情
“`$user = Socialite::driver('github')->user(); // OAuth Two Providers $token = $user->token; $refreshToken = $user->refreshToken; // not always provided $expiresIn = $user->expiresIn; // OAuth One Providers $token = $user->token; $tokenSecret = $user->tokenSecret; // All Providers $user->getId(); $user->getNickname(); $user->getName(); $user->getEmail(); $user->getAvatar(); ```
从令牌中检索
//OAuth2 使用用户的有效访问令牌 Socialite::driver('github')->userFromToken($token); //OAuth1 使用令牌和秘钥 Socialite::driver('twitter')->userFromTokenAndSecret($token, $secret);