在使用passport进行授权码获取时,有如下报错
error “invalid_client”
message “Client authentication failed”
先后比对过client_id 确定无误,但还是会报错,百思不得其解。后来才发现是曲解了报错信息
invalid_client 指的是提交的字段信息与数据库中比对的信息有误,才算是正确。
redirect_uri 字段值与数据库字段值不致!!!
Route::get('/redirect', function () {
$query = http_build_query([
'client_id' => 'client-id',
'redirect_uri' => 'http://example.com/callback',
'response_type' => 'code',
'scope' => '',
]);
return redirect('http://your-app.com/oauth/authorize?'.$query);
});
简而言之,进行如下请求
GET /redirect
报此错
error : “invalid_client”
需要比对其提交项在数据库中相对应的字段值是否完全一致。
oauth_clients表中的 id,redirect字段
小结:
严格理解报错信息,不要曲解。