【发布时间】:2018-01-15 11:16:27
【问题描述】:
这让我发疯了!
如果方法是 POST,为什么 Azure 会返回“AADSTS90056:此端点只接受 POST、OPTIONS 请求。收到 GET 请求”错误?
代码:
$url='http://login.microsoftonline.com/common/oauth2/v2.0/token';
$data = array('code'=>$code,'resource'=>$resource,'redirect_uri' => $redirect_uri, 'client_id' => $client_ID, 'scope' => $scope, 'grant_type' => $grant_type, 'client_secret' => $client_secret);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
【问题讨论】:
-
您能否检查您的网络调用以查看发送的请求是否实际上是 POST?
标签: php azure authentication oauth-2.0 http-post