Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Onelogin和ID令牌:授予请求无效_Php_Api_Curl_Token_Onelogin - Fatal编程技术网

Php Onelogin和ID令牌:授予请求无效

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

我正在使用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-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”响应。

您好,谢谢。我已经编辑了原始消息。不幸的是,我得到了同样的结果。