Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel/Passport我真的需要为一个简单的CRUD API注册Passport::routes()?_Laravel_Laravel Passport - Fatal编程技术网

Laravel/Passport我真的需要为一个简单的CRUD API注册Passport::routes()?

Laravel/Passport我真的需要为一个简单的CRUD API注册Passport::routes()?,laravel,laravel-passport,Laravel,Laravel Passport,我注册了Passport::routes()在AuthServiceProvider的引导方法中,但我似乎没有使用它注册的任何路由 我需要它们吗?它们是用来干什么的?我不能只使用映射到自定义控制器的自定义路由进行登录、注册和注销吗?(已编辑)否,如果不使用它们,则不需要在AuthServiceProvider中注册Passport::routes()。以下自定义控制器逻辑(改编自)仍将使用Passport的内置OAuth2服务器注册新用户并返回有效令牌: 公共功能寄存器(请求$Request)

我注册了
Passport::routes()
在AuthServiceProvider的引导方法中,但我似乎没有使用它注册的任何路由

我需要它们吗?它们是用来干什么的?我不能只使用映射到自定义控制器的自定义路由进行登录、注册和注销吗?

(已编辑)否,如果不使用它们,则不需要在AuthServiceProvider中注册
Passport::routes()
。以下自定义控制器逻辑(改编自)仍将使用Passport的内置OAuth2服务器注册新用户并返回有效令牌:

公共功能寄存器(请求$Request)
{
$validator=validator::make($request->all(),[
“名称”=>“必需”,
“电子邮件”=>“必需”|电子邮件”,
“密码”=>“必需”,
“重新键入密码”=>“必需”|相同:密码”,
]);
如果($validator->fails()){
return response()->json($validator->errors(),response::HTTP\u禁止);
}
$user=user::firstOrCreate(
['email'=>$request->email],
['name'=>$request->name,'password'=>bcrypt($request->password)]
); 
$response=[
'token'=>$user->createToken('MyApp')->accessToken
];
return response()->json($response,response::HTTP_-CREATED);
}

在上面的示例中,
createToken($key)
来自Passport中包含的
HasApiTokens
trait,它将返回令牌,而不管您是否注册路由。(感谢您更正了我的初始答案。)

如果您打算将Passport用作0Auth服务器。如果您不打算这样做,则不需要,但请记住您将需要某种类型的身份验证。
createToken()
方法与OAuth服务器交互以创建个人访问令牌,但它不会通过路由执行此操作。您发布的代码不需要使用
Passport::routes()
。@patricus您说得对,谢谢!在注释了路由注册之后,使用此控制器逻辑的api路由仍然有效。更新我的答案