Microsoft Graph — существует ли клиент

#api #microsoft-graph-api

#API #microsoft-graph-api

Вопрос:

В моем рабочем процессе есть логика для создания «клиента» в Microsoft (например: mycompany.onmicrosoft.com ). Я хочу быть уверен, что это mycompany.onmicrosoft.com не зарегистрировано ранее. Есть какой-нибудь способ проверить это с помощью Microsoft Graph или любого другого API?

Спасибо!

Ответ №1:

Вы можете отправить следующий запрос, заменив имя клиента на mycompany.onmicrosoft.com примечание: адрес электронной почты не обязательно должен существовать на самом деле:

 GET https://login.microsoftonline.com/common/userrealm/?user=cj@{{tenant name}}.onmicrosoft.comamp;api-version=2.1amp;checkForMicrosoftAccount=false
  

Вы получите обратно полезную нагрузку, подобную этой:

 {
  "NameSpaceType": "Federated",
  "federation_protocol": "WSTrust",
  "Login": "cj@foobar.onmicrosoft.com",
  "AuthURL": "https://msft.sts.microsoft.com/adfs/ls/?username=cj%foobar.onmicrosoft.comamp;wa=wsignin1.0amp;wtrealm=urn:federation:MicrosoftOnlineamp;wctx=",
  "DomainName": "foobar.com",
  "FederationBrandName": "FooBar",
  "cloudinstancename": "login.microsoftonline.com"
}
  

NameSpaceType будет либо быть:

  • Federated = Клиент существует, и аутентификация является федеративной,
  • Managed — Клиент существует, и аутентификация не является федеративной
  • Unknown — Арендатор не существует

Могут быть другие способы, но именно так я делал это в прошлом.