Php Onelogin和ID令牌:授予请求无效
我正在使用rstudio来处理登录。在收回 API返回一个错误:{“error”:“invalid_grant”,“error_description”:“grant request is invalid”},我不知道为什么:Php Onelogin和ID令牌:授予请求无效,php,api,curl,token,onelogin,Php,Api,Curl,Token,Onelogin,我正在使用rstudio来处理登录。在收回 API返回一个错误:{“error”:“invalid_grant”,“error_description”:“grant request is invalid”},我不知道为什么: $ch=curl_init(); $header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type: application/x-www-form-ur
$ch=curl_init();
$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type: application/x-www-form-urlencoded');
$post = array('grant_type' => 'authorization_code',
'code' => $code,
'redirect_uri' => 'MY_URL');
$url = "https://eif-til.onelogin.com/oidc/token";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$result = curl_exec($ch);
输入的所有变量似乎都正常,收到的授权代码似乎正常,并按原样传递。在Onelogin端,一切似乎都按其应有的方式配置。我怀疑PHP Curl代码,但我不知道缺少/错误了什么您的
内容类型
标题不正确:
$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type=application/x-www-form-urlencoded');
应改为:
$header = array('Authorization: Basic '.base64_encode($client_id.':'.$secret), 'Content-Type: application/x-www-form-urlencoded');
i、 e.在名称和值之间使用“冒号”而不是“=”。如果您使用PKCE并且遗漏了code\u verifier参数或参数不正确(这包括在上一步中错误生成code\u质询的情况),您也可以收到“grant request is invalid”响应。您好,谢谢。我已经编辑了原始消息。不幸的是,我得到了同样的结果。