<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                * * * * * [TOC] ## 簡介 除了典型的基于表單的認證之外, Laravel 同時提供一種簡單便捷的方式授權通過 OAuth providers 使用?[Laravel Socialite](https://github.com/laravel/socialite)。 社會化登錄現在支持通過 Facebook、 Twitter、 LinkedIn、 Google、GitHub 和 Bitbucket 授權。 > {提示}其他平臺的驅動器可以在?[Socialite Providers](https://socialiteproviders.github.io/)?社區驅動網站查找。 ## 安裝 在開始使用社會化登錄功能之前,通過 Composer 將 laravel/socialite 包添加到你的項目依賴里面: ~~~ composer require laravel/socialite ~~~ ## 配置 使用 Socialite 前,需要先添加上應用程序所使用的 OAuth 服務的憑證。憑證應該保存在配置文件?`config/services.php`?當中,可使用的鍵名有?`facebook`、`twitter`、?`linkedin`、?`google`、?`github`或?`bitbucket`,要根據你應用程序需要的提供器來確定鍵名。例如: ~~~ 'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), // 你的 GitHub Client ID 'client_secret' => env('GITHUB_CLIENT_SECRET'), // 你的 GitHub Client Secret 'redirect' => 'http://your-callback-url', ], ~~~ > {tip} 如果?`redirect`?項的值是個相對路徑,它會自動解析為全稱 URL 。 ## 路由 接下來,就要對用戶認證了!這需要兩個路由:一個路由用于把用戶重定向到 OAuth 提供器,另一個則用于在認證完成后接收相應提供器的回調請求。可以通過 facade 方式?`Socialite`?來訪問 Socialite: ~~~ <?php namespace App\Http\Controllers\Auth; use Socialite; class LoginController extends Controller { /** * 重定向用戶信息到 GitHub 認證頁面。 * * @return \Illuminate\Http\Response */ public function redirectToProvider() { return Socialite::driver('github')->redirect(); } /** * 獲取來自 GitHub 返回的用戶信息。 * * @return \Illuminate\Http\Response */ public function handleProviderCallback() { $user = Socialite::driver('github')->user(); // $user->token; } } ~~~ `redirect`?方法會嚴格地把用戶信息發給 OAuth 提供器,同時?`user`?方法會讀取接收到的請求數據,并從該提供器獲取該用戶的信息。 當然,還需要在你的控制器方法中定義好路由規則: ~~~ Route::get('login/github', 'Auth\LoginController@redirectToProvider'); Route::get('login/github/callback', 'Auth\LoginController@handleProviderCallback'); ~~~ ## 可選參數 很多 OAuth 提供者在重定向請求中支持可選參數。要在請求中包含可選參數, 可以通過一個關聯數組調用?`with`?方法: ~~~ return Socialite::driver('google') ->with(['hd' => 'example.com']) ->redirect(); ~~~ > {note} 當使用?`with`?方法時,意不要傳遞保留關鍵字,比如?`state`?或?`response_type`。 ## 訪問作用域 在重定向用戶之前,還可以使用?`scopes`?方法在請求上添加額外的「作用域」。 該方法會合并所有提供的作用域: ~~~ return Socialite::driver('github') ->scopes(['read:user', 'public_repo']) ->redirect(); ~~~ 你可以使用?`setScopes`?方法覆蓋所有已存在的作用域: ~~~ return Socialite::driver('github') ->setScopes(['read:user', 'public_repo']) ->redirect(); ~~~ ## 無狀態認證 `stateless`?方法可用于禁止會話狀態驗證。這個方法在向 API 添加社會化身份驗證時非常有用。 ~~~ return 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) 如果你已經有了一個用戶的有效訪問令牌,你可以使用?`userFromToken`?方法檢索用戶的詳細信息。 ~~~ $user = Socialite::driver('github')->userFromToken($token); ~~~ #### 從令牌和秘鑰中檢索用戶詳細信息(OAuth1) 如果你已經有了一個有效的用戶令牌 / 秘鑰,你可以使用?`userFromTokenAndSecret`?方法檢索他們的詳細信息: ~~~ $user = Socialite::driver('twitter')->userFromTokenAndSecret($token, $secret); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看