OAuth2.0使用cURL安全性请求access_token

时间:2016-04-27 03:25:14

标签: oauth oauth-2.0

我是使用OAuth2.0的新手。现在,我正在使用cURL请求access_token,它按预期工作得很好。但我现在担心的是,这是安全的吗?因为,client_id和client_secret可以暴露吗?或者有一种安全的方式来连接/请求access_token到OAuth服务器?非常感谢你。

$post = [
'grant_type' => 'client_credentials',
];
$ch = curl_init('http://laravelxampp.dev/oauth/access_token');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Basic ZjNkMjU5ZGRkM2VkOGZmMzg0MzgzOWI6NGM3ZjZmOGZhOTNkNTljNDU1MDJjMGFlOGM0YTk1Yg==',
'Accept: application/json',
'Accept-Language: en_US'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$secret  = json_decode($response);
return $secret->access_token; 

1 个答案:

答案 0 :(得分:0)

请求应该通过受TLS保护的连接(即使用https URL)而不是通过纯HTTP进行;通过TLS进行操作,可以保证客户机密的机密性。

正如RFC 6749在https://tools.ietf.org/html/rfc6749#section-3.2中所说:

  

由于对令牌端点的请求导致
的传输   明文凭证(在HTTP请求和响应中),
  授权服务器必须按照中的描述使用TLS   将请求发送到令牌端点时的第1.6节。

因此,您的示例显示了一个不合规的授权服务器接受未受保护的请求。