php - Laravel Passport 验证用户访问 API 数据
问题描述
我正在尝试在我的 laravel 5.6 / 护照应用程序中实施资源所有者密码凭据授予。我已经设置了所有基本配置。我希望用户能够只传递他们的用户名和密码,并让身份验证服务器传递授权类型,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
推荐阅读
- javascript - 如何更新 useState() 并推到第一位?
- python - 如何使用预训练模型进行双输入迁移学习
- c++ - 在 std::uint8_t 中移位
- google-cloud-stackdriver - 谷歌云中项目删除操作的日志
- c# - 如何将 Azure Active Directory 身份验证添加到 .Net Core 静态页面作为团队个人选项卡
- multithreading - 我应该对 Camel Enpoint URI 中的选项进行 url 编码吗
- c++ - C++中的cout问题
- c - C sscanf i386 与 x86_64 解析引用字符串的不同行为
- javascript - 无法在 JavaScript 函数中检索 ASP.Net 文本框值
- android - 这个 Android 元素的名称是什么?