laravel socialite

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);

猜你喜欢

转载自blog.csdn.net/u011584949/article/details/80958346