laravel 第三方登录组件 socialite

本文介绍如何使用 Laravel Socialite 进行社交登录,包括基本流程、OAuth 提供商配置、用户信息获取等核心功能。通过示例代码展示了不同场景下的应用实践。

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值