<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 的 API 認證提供了兩種方式,一時使用 passport package,二是使用 token 來進行認證, # api_token 配置看下config/auth.php中 ~~~ 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class, //看下自己的用戶表是不是這個 ], ~~~ 在vendor/laravel/framework/src/Illuminate/Auth/TokenGuard中 在構造方法中可以看到api_token 在下面可以看到token的驗證過程,最后執行的是getTokenForRequest 源碼解讀(laravel5.4) ~~~ public function getTokenForRequest() { //首先通過query方式獲取這個inputKey,這個inpuKkey在構造方法里面就是api_token,也就是get獲取 $token = $this->request->query($this->inputKey); if (empty($token)) { $token = $this->request->input($this->inputKey); } //如果沒有的話,通過bearerToken獲取就是header方式獲取 //我們去看下 if (empty($token)) { $token = $this->request->bearerToken(); } if (empty($token)) { $token = $this->request->getPassword(); } return $token; } ~~~ ~~~ public function bearerToken() { $header = $this->header('Authorization', ''); if (Str::startsWith($header, 'Bearer ')) { return Str::substr($header, 7); } } ~~~ 方式還是很多的 然后我們在用戶表中添加個字段api_token,然后把長度設置為60(長度最好大于7位),我們在用戶注冊的時候,給這個字段來個隨機數的填充進去 然后我們傳遞token的時候,在header中 ~~~ [{"key":"Authorization","value":"Bearer S73tCcDwmlqw5dL31"}] ~~~ value就是Bearer加空格加后面的數據庫的api_token 中間件可以用 ~~~ ['middleware'=>'auth:api'] ~~~ 登錄進來獲取用戶信息可以用 ~~~ return \Illuminate\Support\Facades\Auth::guard('api')->user(); ~~~ # sign 如果需要生成簽名可以這樣 簽名參數sign生成的方法 第1步: 將所有參數(注意是所有參數),除去sign本身,以及值是空的參數,按參數名字母升序排序。 第2步: 然后把排序后的參數按參數1值1參數2值2…參數n值n(這里的參數和值必須是傳輸參數的原始值,不能是經過處理的,如不能將"轉成”后再拼接)的方式拼接成一個字符串。 第3步: 把分配給接入方的驗證密鑰key拼接在第2步得到的字符串前面。 第2步: 在上一步得到的字符串前面加上驗證密鑰key(這里的密鑰key是接口提供方分配給接口接入方的),然后計算md5值,得到32位字符串,然后轉成大寫. 第4步: 計算第3步字符串的md5值(32位),然后轉成大寫,得到的字符串作為sign的值。
                  <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>

                              哎呀哎呀视频在线观看