代码之家  ›  专栏  ›  技术社区  ›  bmatovu Randy the Dev

Laravel Passport为Guzzle HTTP客户端创建新的API令牌

  •  0
  • bmatovu Randy the Dev  · 技术社区  · 7 年前

    我怎么用这个 CreateFreshApiToken 狂饮。

    Axios-好的

    axios.get('api/user').then(response => {
        console.log(response.data);
    }).catch(error => {
        console.log(error.response.data);
    });
    

    阿贾克斯-好的

    window.$.ajax({
        headers: {
            'Accept': 'application/json',
            'X-Requested-With': 'XMLHttpRequest',
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        type: 'GET',
        url: 'api/user',
        success: function (response) {
            console.log(response);
        },
        error: function (xhr) {
            console.error(xhr.responseText);
        }
    });
    

    try {
        $client = new Client([
            'base_uri' => 'http://localhost/passport-test/public/api/',
            'headers' => [
                'Accept' => 'application/json',
            ],
        ]);
    
        $api_response = $client->request('GET', 'user', ['debug' => true]);
    
        $user = json_decode($api_response->getBody(), true);
    
        return response()->json($user);
    } catch (ConnectException $ex) {
        return response()->json(['code' => $ex->getCode(), 'message' => $ex->getMessage()]);
    } catch (ClientException $ex) {
        return json_decode($ex->getResponse()->getBody(), true);
    } catch (ServerException $ex) {
        return response()->json(['code' => $ex->getCode(), 'message' => $ex->getMessage()]);
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   zjbarg    7 年前

    好, createFreshApiTokens 附加一个cookie进行授权,但是当您使用guzzle时,您没有从客户端(浏览器)发出请求,因此cookie不会附加到请求!