php - 通过 CURL 尝试 OAuth2 - 请求中未指定授权类型

标签 php curl oauth oauth-2.0

我正在尝试在我的终端上使用 CURL 来执行 OAuth 客户端:

curl -X POST -d "client_id=Barn Coop Farm&client_secret=b9c186fff02a3c40ffbe336017370ced&grant_type=client_credentials" http://coop.apps.knpuniversity.com/token

但是我在服务器下面有这个错误:
{"error":"invalid_request","error_description":"The grant type was not specified in the request"}

但是如果我使用 PHP CURL:
$params = array();
$params['grant_type'] = 'client_credentials';
$params['client_id'] = 'Barn Coop Farm';
$params['client_secret'] = 'b9c186fff02a3c40ffbe336017370ced';

$url = 'http://coop.apps.knpuniversity.com/token';

$ch = curl_init();
$header = array ();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt( $ch, CURLOPT_POSTFIELDS,$params);

$response = curl_exec( $ch );
echo $response;

我得到了正确的回应:
{"access_token":"95d07fbb9964d567493c7517c25acde8a8b43ab6","expires_in":86400,"token_type":"Bearer","scope":"eggs-collect"}

任何想法为什么和我错过了什么?

最佳答案

在您的 curl 请求中,您有 &&在分离参数时。

关于php - 通过 CURL 尝试 OAuth2 - 请求中未指定授权类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36994358/

相关文章:

php - 将 PHP 和 JSON 编码转换为 Javascript 日期

php - Curl 输入 php 和 IP 地址

php - cURL 请求未使用 CURLOPT_ENCODING 标志

ios - OAuthSwift 闭包捕获值不起作用

python - Django Rest 框架 URL 模式

php - 带有NTLM-proxy的Docker中的PHP:无法分配请求的地址

javascript - 如何为数据库中的不同记录/行创建用户生成的链接列表,单击后填充 html 表单?

node.js - 如何调用作为 Docker 容器部署在 Linux 机器上的 Rest-Endpoint

c# - ASP.NET 5 (vNext) 中的身份验证

php - 通过变量值获取常量值