gpt4 book ai didi

azure - 如何将授权代码交换为 Azure AD Multi-Tenancy 应用程序的 access_token?

转载 作者:行者123 更新时间:2023-12-02 23:51:07 25 4
gpt4 key购买 nike

我正在编写一个 Web 应用程序,它将访问存储在 Microsoft Dynamics CRM Online 中的客户数据。我希望允许我的用户使用 OAuth 授予对其 Dynamics 帐户的访问权限。

  1. 我在 Azure AD 中创建了一个 Multi-Tenancy 应用程序,提供redirect_uris,生成客户端 ID 和 key 。 Multi-Tenancy 已设置为开启。
  2. 我创建了一个演示 Microsoft Dynamics CRM 帐户。 “examplecrmaccount.crm4.dynamics.com”。
  3. 我已成功生成授权网址,将用户引导至授权屏幕,并收到应兑换“访问 token ”的“代码”。

我无法将此“代码”交换为“access_token”。

$data = array(
"grant_type" => "authorization_code",
"client_id" => urlencode("my_app_azure_ad_client_id"),
"redirect_uri" => urlencode("https://myapp.com/callback"),
"client_secret" => urlencode("my_app_azure_ad_client_secret"),
"code" => urlencode("code_returned_from_previous_request"),
"resource" => urlencode("https://examplecrmaccount4.crm4.dynamics.com")
);

$endpoint = "https://login.windows.net/common/oauth2/token?api-version=1.0";

$response = helpers\Curl::doPOST(
$endpoint,
null,
array("Content-type: application/x-www-form-urlencoded"),
$data
);

服务器响应:

Status 404
StatusName Not Found
{"error":"invalid_request","error_description":"ACS90002: No service namespace named \u0027common\u0027 was found in the data store.\r\nTrace ID: b1025082-3e9b-49d8-bf91-7d998f694162\r\nCorrelation ID: 49d9d1e5-6958-4ffc-91ff-464f078a00f5\r\nTimestamp: 2014-09-12 08:35:59Z","error_codes":[90002],"timestamp":"2014-09-12 08:35:59Z","trace_id":"b1025082-3e9b-49d8-bf91-7d998f694162","correlation_id":"49d9d1e5-6958-4ffc-91ff-464f078a00f5"}

最佳答案

删除“api-version=1.0”查询参数,它应该可以工作。这是我们的文档和 Azure 门户中的一个错误,它会告诉您在使用授权代码流程时添加该错误。

关于azure - 如何将授权代码交换为 Azure AD Multi-Tenancy 应用程序的 access_token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25806642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com