【发布时间】:2018-07-26 18:29:28
【问题描述】:
我已经在 5.5 中设置了 Passport,并拥有自动生成的 Auth\ForgotPasswordController 和 Auth\ResetPasswordController 控制器。
然而,虽然 /oauth/token 为我神奇地提供了,但在使用 API 时似乎没有这样的密码重置路径。
我的 API 路由应该是什么样的?
目前我已经尝试过
Route::group(['prefix' => 'password'], function () {
Route::post('/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
Route::post('/reset', 'Auth\ResetPasswordController@reset');
});
但我在查看特征时在供应商文件中发现了这些,但不确定这是否正确。
/password/email 路由也因"message": "Route [password.reset] not defined." 而失败
【问题讨论】:
-
你有没有做
php artisan route:list看路线是否列出?它可以在/password/email之前有前缀/api -
只列出了我的 2 个自定义项。我删除了 /api/,因为我的子域是 api.domain.com,很抱歉造成混淆
-
您是否将 Auth::routes() 添加到 api 路由和/或 web 中?
-
我没有添加任何护照身份验证路由,/oauth/ 路径似乎很神奇。它们不在 api.php 或 web.php 中。我现在假设护照为我提供了登录但不重置密码的方法
-
您有 2 个选项,要么在 web 或 api 路由文件中注册一个名为
password.reset的路由,要么只运行php artisan make:auth,laravel 将通过登录/注册为您引导所有路由。正如@rchatburn 提到的,不要忘记在 web.php 路由中注册 Auth::routes()
标签: laravel laravel-5.5