Laravel Passport 验证用户访问 API 数据
Laravel Passport Authenticate User To Access API Data
我正在尝试在我的 laravel 5.6 / passport 应用程序中实施资源所有者密码凭证授予。我已经设置了所有基本配置。我希望用户能够只传递他们的用户名和密码,并让身份验证服务器将授权类型 client_secret
和 client_id
传递到护照路由 http://dev.api.com/oauth/token
这是我的路线文件:
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/login', 'IssueTokensController@login')->name('get.token');
我希望 IssueTokensController 从 env 文件预填充 client_id
、client_secret
并重定向到护照路由。任何建议都会有所帮助
您不需要重定向到 http://dev.api.com/oauth/token。您只需将此代码添加到您的自定义登录名 (IssueTokensController@login
) 中,然后生成个人访问令牌。
public function login(Request $request)
{
$credentials = $request->only('username', 'password');
if (Auth::attempt($credentials)) {
// Authentication passed...
$user = Auth::user();
$token = $user->createToken('Token Name')->accessToken;
return response()->json($token);
}
}
检查个人访问令牌的文档。
https://laravel.com/docs/5.6/passport#personal-access-tokens
我正在尝试在我的 laravel 5.6 / passport 应用程序中实施资源所有者密码凭证授予。我已经设置了所有基本配置。我希望用户能够只传递他们的用户名和密码,并让身份验证服务器将授权类型 client_secret
和 client_id
传递到护照路由 http://dev.api.com/oauth/token
这是我的路线文件:
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/login', 'IssueTokensController@login')->name('get.token');
我希望 IssueTokensController 从 env 文件预填充 client_id
、client_secret
并重定向到护照路由。任何建议都会有所帮助
您不需要重定向到 http://dev.api.com/oauth/token。您只需将此代码添加到您的自定义登录名 (IssueTokensController@login
) 中,然后生成个人访问令牌。
public function login(Request $request)
{
$credentials = $request->only('username', 'password');
if (Auth::attempt($credentials)) {
// Authentication passed...
$user = Auth::user();
$token = $user->createToken('Token Name')->accessToken;
return response()->json($token);
}
}
检查个人访问令牌的文档。
https://laravel.com/docs/5.6/passport#personal-access-tokens