gpt4 book ai didi

laravel - Passport Laravel Rest API Auth 与正常设计

转载 作者:行者123 更新时间:2023-12-02 16:45:30 26 4
gpt4 key购买 nike

我已经完全分配了 Passport REST API,并且获得了 token 并在 PostMan enter image description here 上进行了测试

并使用此身份验证检索数据

这是带有 Laravel Blade View 的普通 js html(不是 VUE.JS)

<script>
$.ajax({
method: 'POST',
dataType: 'json',
url: "**********/api/User/GetPost",
headers: {
'Authorization':'Bearer Tokenblablabla',
'Content-Type':'application/json'
},
data: null,
success: function(data){
console.log('succes: '+data);
}

});

这是 Controller 功能

    public function GetPosts(Request $request){
$data3="Test"
return response()->json([
'Success'=> true,
'Message'=>'8',
'Data' => $data3,
], 200);
}

这是 api.php//这将返回一个包含帖子详细信息的 json

Route::group(['middleware'=>'auth:api'],function(){
Route::post('/GetPosts','Wall\PostsController@GetPosts');
});

这是 web.php

Route::get('/GetPost', function () {
return view('getpostview');
})->middleware('auth:api');

我很困惑,除了无法从 API 检索 json 之外,我无法发送 Auth,iam 3 天陷入了这个问题我需要什么才能将普通的 Laravel Blade 连接到另一个 Laravel Passport REST API

最佳答案

Laravel 生成的用于身份验证的 Blade 模板可以与 Laravel Passport、JWT 等配合使用。

您需要做的就是配置 Passport正确地。

不要忘记修改 API config/auth.php 文件中指定的驱动程序:

'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],

'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],

此外,要检索 json 响应,请在请求中添加此 header :

'Accept' : 'application/json'

所以你的请求应该是这样的:

$response = $client->request('GET', 'some-url/api/getPosts', [
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer '.$accessToken,
],
]);
<小时/>

旁注

我鼓励您阅读this presentation, "Teaching a Dog to REST" ,正确使用 HTTP 动词和良好实践来创建一个干净、直观且易于学习的 API。

关于laravel - Passport Laravel Rest API Auth 与正常设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48975428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com