如何在 laravel 中使用不记名令牌从 api 请求中获取响应?

Posted

技术标签:

【中文标题】如何在 laravel 中使用不记名令牌从 api 请求中获取响应?【英文标题】:How Can I get responses from api request using brearer token in laravel? 【发布时间】:2021-12-09 07:38:08 【问题描述】:

问题描述:

我有一个berer api。我只需要使用控制器传递请求 实际上发出请求并接收响应。 (注: 不使用邮递员)

我的 API 根是这样的:http://localhost/cloud/website/api/v1/

在 api.php

        Route::group(['prefix' => 'v1'], function() 
            Route::group(['middleware' => 'auth:sanctum'], function() 
                 Route::post('entries/sync-info', [EntrySyncInfoController::class, 'index']);
    
 

我正在尝试从 API 获得响应,但不断收到 500 SERVER ERROR。

    $token  ='24|cbG3w1ONkxxeUBhLCGwFjOSLk......';
    
    $response = $client->request('GET', 'http://localhost/cloud/website/api/v1/entries?perPage=50', [
    'headers' => [
        'Authorization' => 'Bearer '.$token,
        'Accept' => 'application/json',
    ],
]);

return $response->body();

但是当我向 Postman 提出请求时,它给了我完美的回应。

postman request's image is here

当我直接在浏览器上点击这个网址时,它会显示同样的错误。

我也关注this 问题。它返回 null。

我该如何解决这个问题?如何使用不记名令牌获得响应?

【问题讨论】:

【参考方案1】:
$response = $client->get('http://localhost/cloud/website/api/v1/entries?perPage=50', [
    'headers' => [
        'Authorization' => 'Bearer '.$token,
        'Accept' => 'application/json',
    ],
]);

参考:看到这个post, 也可以看看this

【讨论】:

感谢@moinul-robin 兄弟的参考。您的参考资料和this link 帮助我解决了这个问题。

以上是关于如何在 laravel 中使用不记名令牌从 api 请求中获取响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel Passport 验证令牌?

如何通过具有用户凭证的天蓝色广告生成不记名令牌

不记名令牌如何在 Web API 2 中存储在服务器端?

从 OWIN Cookie 获取不记名令牌并将其放在 API 请求中

Laravel 护照授权令牌在生成新令牌时过期

实施 Identity 2.1 + OWIN OAuth JWT 不记名令牌时如何从 Web API 控制器端点进行身份验证