如何包含sope数据以生成访问令牌Oauth2.0?

时间:2018-08-25 13:49:37

标签: php web-services curl oauth oauth-2.0

我需要生成访问令牌Oauth2.0才能调用Web服务。

我的PHP脚本返回访问令牌,但是当我使用此令牌调用We​​b服务时,我收到错误代码115(OAuth访问令牌无效)。

$client_id = 'XXXXX';
$client_secret = 'XXXXX';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'XXXXX/auth/oauth/v2/token' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($client_id.':'.$client_secret)));
$res = curl_exec($ch);

我尝试与邮递员一起生成具有相同数据的访问令牌,例如我的PHP脚本具有相同的错误代码(115),但是当我添加范围数据时,生成的访问令牌现在可以调用Web服务了。

您知道如何在我的PHP脚本中包含范围数据吗?

1 个答案:

答案 0 :(得分:0)

提供一个范围请求参数,该参数的值设置为一个用空格分隔的请求范围的形式编码列表。例如。请求readwrite范围,您将使用:

curl_setopt($ch, CURLOPT_POSTFIELDS, 'scope=read%20write');