Php 无法使用azure graph中的代码获取应用程序的令牌
我已在中创建了一个应用程序,并尝试从我的web应用程序进行连接 这是我的代码:Php 无法使用azure graph中的代码获取应用程序的令牌,php,azure-ad-b2c,azure-active-directory,azure-ad-graph-api,Php,Azure Ad B2c,Azure Active Directory,Azure Ad Graph Api,我已在中创建了一个应用程序,并尝试从我的web应用程序进行连接 这是我的代码: $data = array ( 'code' => $code, 'client_secret' => 'C2A32632155A3270220244A5774431C58126F9B5', 'client_id' => '49c1c823-b423-4673-af57-7be1ab39e386', 'grant_t
$data = array (
'code' => $code,
'client_secret' => 'C2A32632155A3270220244A5774431C58126F9B5',
'client_id' => '49c1c823-b423-4673-af57-7be1ab39e386',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://localhost/crm/contacts/connectOffice',
'scope' => 'offline_access Contacts.ReadWrite'
);
$url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233
我得到了回应:
$data = array (
'code' => $code,
'client_secret' => 'C2A32632155A3270220244A5774431C58126F9B5',
'client_id' => '49c1c823-b423-4673-af57-7be1ab39e386',
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://localhost/crm/contacts/connectOffice',
'scope' => 'offline_access Contacts.ReadWrite'
);
$url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233
[错误]=>无效的\u客户端
[错误描述]=>AADSTS70002:验证凭据时出错。AADSTS50012:提供的客户端密码无效。跟踪ID:
47f5eaa3-2ea0-45bc-9bfa-8457395ae354相关ID:
3007e67d-120d-4cf1-a0e6-1863d202b233时间戳:2017-01-12 13:12:28Z
[错误代码]=>数组
(
[0] => 70002
[1] => 50012
)
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233
我很确定我在请求中提供了正确的客户机密码和客户机Id,但我一直都会遇到这个错误。有人能告诉我哪里出了问题,或者我还需要做些什么来纠正这个问题吗 您现在在客户机机密字段中使用的值实际上是一个公钥,如果您点击
生成新密钥对
按钮,就会生成该公钥
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233
对于您尝试执行的操作,您需要点击门户中的生成新密码
按钮以获取23个字符的客户端密码。这将允许您获取身份验证代码
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233
还有一件事,如果您试图获取身份验证代码,请确保您使用了正确的授权端点
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
。当您拥有身份验证代码并希望将其交换为令牌时,将使用上面的url 我确实有授权码@Daniel Dobalian,我正在尝试使用生成新密码密码来获取令牌ID,修复您的错误?
[timestamp] => 2017-01-12 13:12:28Z
[trace_id] => 47f5eaa3-2ea0-45bc-9bfa-8457395ae354
[correlation_id] => 3007e67d-120d-4cf1-a0e6-1863d202b233