laravel护照总是退回未授权

问题描述 投票:0回答:1

在我的项目中,我使用带有laravel护照的laravel和nuxt。

出于某种原因,当我尝试注册用户时,laravel Passport总是返回消息“未授权”。

在api.php中,我在authcontroller中创建了一个引用create函数的路由:

Route::post('create', 'AuthController@create');

这是我的Authcontroller:

namespace App\Http\Controllers\API;

use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{
    public function local()
    {
        return response()->json(['user' => auth()->user()]);
    }

    public function oauth()
    {
        return response()->json(auth()->user());
    }

    public function create(request $request){

        $validatedData = $request->validate([
            'name' => 'required|max:12',
            'email' => 'required|email|unique:users',
            'password' => 'required|confirmed'
        ]);        

        $user = User::create($validatedData);

        $accesToken = $user->createToken('authToken')->accessToken;     

        return response()->json([
            'user' => $user,
            'access_token' => $accessToken
        ]);
    }
}

在邮递员中,我尝试向用户注册一些数据,

我正在发布帖子[[要求127.0.0.1:8000/api/create

在Headers选项卡中,我有一个键,

accept

,其值为application / json在我的请求正文中,我将以下数据作为表单数据发送:
  • 但是无论如何,我总是使消息未经授权...我确定这是正确的URI。我认为这个问题与laravel护照有关,但似乎无法弄清楚为什么我被重定向了。当我从邮递员的标题中删除接受密钥时,我只是被重定向到laravel的登录页面。我认为某种方式在护照上的所有路线都需要授权...

    如果有人有解决方案或有用的信息,那就太好了! :)

  • laravel api laravel-passport nuxt
    1个回答
    0
    投票
    也许您可以尝试从URL /oauth/token获取令牌,并将其用作create请求中的承载令牌。我认为Api中间件希望收到令牌。

    标题示例:

    'headers' => [ 'Accept' => 'application/json', 'Authorization' => 'Bearer '.$accessToken, //From route /oauth/token ],

    © www.soinside.com 2019 - 2024. All rights reserved.