我已成功注册graph.microsoft.com
的申请,但现在还需要使用graph.cloudapi.de
。
Application Registration Portal似乎不是德国国家云的正确选择。
此外,在portal.microsoftazure.de
中注册的应用程序仅适用于SharePoint API,而不是图形。
这是我的程序和德语Microsoft Cloud之间的HTTP交换示例。我正在用Delphi编写HTTP请求。交换使用graph.microsoft.com,但不适用于graph.microsoft.de。
我通过以下https网址开始身份验证:
login.microsoftonline.de/common/oauth2/v2.0/authorize?response_type=code&client_id=xyz&prompt=login&scope=https%3A%2F%2Fgraph.microsoft.de%2Fuser.read%20&response_mode=query&state=5736109994698155204&redirect_uri=https%3A%2F%2Fwww.syncovery.com%2Foauthresult.php
然后,云会使用长代码参数(例如
)指向我的重定向网址code=AQABAAIAAQDnLpu3ikefR73l_aNlxt5xxdvNhQ9JVAI7b0ciTej............
到目前为止,这么好。现在困难的部分:
POST /common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.de
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 805
client_id=xyz&client_secret=abc&code=AQABAAIAAQD_very_long&redirect_uri=https%3A%2F%2Fwww.xyz.com%2Foauthresult.php&grant_type=authorization_code&scope=https%3A%2F%2Fgraph.microsoft.de%2Fuser.read%20
答复:
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
x-ms-request-id: e83986c0-5da4-4af7-92fc-46e2fb950100
P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"
Set-Cookie: esctx=AQABAAAAA_longish domain=.login.microsoftonline.de; path=/; secure; HttpOnly
X-Powered-By: ASP.NET
Date: Wed, 07 Feb 2018 11:11:44 GMT
Content-Length: 449
{
"error": "invalid_client",
"error_description": "AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.\r\nTrace ID: e83986c0-5da4-4af7-92fc-46e2fb950100\r\nCorrelation ID: 044f44e3-ec09-4f76-b073-0ff6b72b696a\r\nTimestamp: 2018-02-07 11:11:45Z",
"error_codes": [70002, 50012],
"timestamp": "2018-02-07 11:11:45Z",
"trace_id": "e83986c0-5da4-4af7-92fc-46e2fb950100",
"correlation_id": "044f44e3-ec09-4f76-b073-0ff6b72b696a"
}
答案 0 :(得分:0)
apps.dev.microsoft.com
门户是全球性的,没有门户网站的国家云实例。但是,您需要使用" Azure AD only applications"在AAD帐户下注册您的应用程序。而不是"融合的应用程序"。这是因为v2端点本身尚未受到国家云端点的支持。
此处的另一个问题是您的URI也不正确。
documentation与德国相关的一些注释:
Microsoft Graph Root Endpoint:https://graph.microsoft.de
(不是graph.cloudapi.de
)
OAuth2.0端点:https://login.microsoftonline.de
Azure AD v2.0授权和令牌端点仅在全局服务上可用;它们尚不支持与国家云部署一起使用。