Wordpress 使用laravel Passport中的授权码授权登录第三方应用程序无效
我正在尝试使用授权码授权在passport Oauth服务器中记录第三方客户端。当我使用密码时,授权它正常工作,护照给我令牌,一切正常。在第三方应用程序中,我添加以下代码:Wordpress 使用laravel Passport中的授权码授权登录第三方应用程序无效,wordpress,laravel,laravel-passport,Wordpress,Laravel,Laravel Passport,我正在尝试使用授权码授权在passport Oauth服务器中记录第三方客户端。当我使用密码时,授权它正常工作,护照给我令牌,一切正常。在第三方应用程序中,我添加以下代码: Route::get('/redirect', function (Request $request) { $query = http_build_query([ 'client_id' => 3, 'redirect_uri' => 'http://127.0.0.1:8
Route::get('/redirect', function (Request $request) {
$query = http_build_query([
'client_id' => 3,
'redirect_uri' => 'http://127.0.0.1:8001/callback',
'response_type' => 'code',
'scope' => '',
'state' => \Str::random(40),
]);
return redirect('http://127.0.0.1:8000/oauth/authorize?' . $query);
});
Route::get('/callback', function (Request $request) {
$response = (new GuzzleHttp\Client)->post('http://127.0.0.1:8000/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => 3,
'client_secret' => 'Ux6p201tRFrPQ5lLZI1RMce1GYD6qTJ9Qvj7nM2Z',
'redirect_uri' => 'http://127.0.0.1:8001/callback',
'code' => $request->code,
]
]);
session()->put('token', json_decode((string)$response->getBody(), true));
return redirect('/todos');
});
Route::get('/todos', function () {
$response = (new GuzzleHttp\Client)->get('http://127.0.0.1:8000/api/todos', [
'headers' => [
'Authorization' => 'Bearer ' . session()->get('token.access_token')
]
]);
return json_decode((string)$response->getBody(), true);
});
在oauth服务器中,我使用
身份证号码:3
秘密:Ux6p201tRFrPQ5lLZI1RMce1GYD6qTJ9Qvj7nM2Z
回调:“”
但当我从第三方应用程序创建请求/重定向时,我得到:
未经验证的401和重定向到登录
我也尝试添加
Passport::$ignoreCsrfToken = true;
在AuthServiceProvider中。但仍然不起作用。
有人能帮我吗?类似的问题已经在Laravel Passport github存储库中列出 要解决此错误,请添加Passport::$ignoreCsrfToken=true代码>在
AuthServiceProvider
文件中
尝试
AuthServiceProvider
文件添加Passport::$ignoreCsrfToken=true代码>hi@Sehdev和tanx以获取答案。我添加了这个,但是我得到了重定向到登录和未经验证的响应。你仍然收到错误吗?是的。当我使用邮递员向上面的路由发出请求并将承载令牌添加到其解决方案时,重定向到Login。但我希望用于第三方应用程序(wordpress sso)