используя учетную запись AAD и создайте ее как «приложения Azure AD only» (v1).

ешно зарегистрировал свою заявку наgraph.microsoft.com, но теперь он также должен работать сgraph.cloudapi.de.

Портал регистрации приложений не кажется правильным для немецкого национального облака.

Кроме того, заявки, зарегистрированные вportal.microsoftazure.de работать только с API SharePoint, а не с Graph.

Вот пример обмена HTTP между моей программой и немецким Microsoft Cloud. Я вручную кодирую HTTP-запросы в Delphi. Обмен работает с 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

Облако затем направляет на мой URL перенаправления с длинным параметром кода, таким как

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"
}

Ответы на вопрос(1)

Ваш ответ на вопрос