首页 文章

Laravel Passport验证用户访问API数据

提问于
浏览
1

我正在尝试在我的laravel 5.6 / passport应用程序中实现资源所有者密码凭据授权 . 我已经设置了所有基本配置 . 我希望用户只能传递他们的用户名和密码,并让身份验证服务器将授权类型 client_secretclient_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_idclient_secret 并重定向到护照路由 . 任何意见将是有益的

1 回答

  • 0

    您无需重定向到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);
            }
    }
    

    检查doc以获取个人访问令牌 .

    https://laravel.com/docs/5.6/passport#personal-access-tokens

相关问题