在我的项目中,我使用带有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在我的请求正文中,我将以下数据作为表单数据发送:如果有人有解决方案或有用的信息,那就太好了! :)
/oauth/token
获取令牌,并将其用作create
请求中的承载令牌。我认为Api中间件希望收到令牌。标题示例:
'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer '.$accessToken, //From route /oauth/token
],