[英]Create Office 365 / Azure AD federated user using Graph API
[英]Microsoft Graph - Create user without onPremisesImmutableId on a Federated Domain
我們正在嘗試在聯合域上創建用戶,而不在onPremisesImmutableId
發送JSON字段。 如“ 創建用戶”頁面上記錄的那樣,在這種情況下,此字段變為必填字段。
當我們發出這樣的請求時,HTTP響應狀態代碼奇怪地是400,而響應有效負載中沒有正確的消息。 下面是一個示例。
是否可以獲取有關請求失敗原因的准確消息? 我們要問的原因是,在使該域成為聯合域之前,相同的請求工作得很好,但現在不再有效。 我們花了幾個小時才弄清楚出了什么問題,文檔終於提供了一個線索。
Request:
Invoke-WebRequest -Method POST https://graph.microsoft.com/v1.0/users -Headers @{"Authorization"="Bearer <access_token>"} -Body '{"accountEnabled":true,"displayName": "displayName-value","mailNickname": "mailNickname-value", "userPrincipalName": "blah-blah","passwordProfile":{"password": "bleh"}}' -ContentType 'application/json'
===============
Response:
status: 400 Bad Request
Date: Thu, 06 Apr 2017 19:35:32 GMT
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"South India","Slice":"SliceA","ScaleUnit":"000","Host":"AGSFE_IN_1","ADSiteName":"MAA"}}
Duration: 148.322
client-request-id: 516c451a-1052-4918-9671-2ebfa8d2f795
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location, Preference-Applied, Content-Range, request-id, client-request-id
Cache-Control: private
Transfer-Encoding: chunked
request-id: 516c451a-1052-4918-9671-2ebfa8d2f795
{
"error": {
"code": "Request_BadRequest",
"message": "One or more properties contains invalid values.",
"innerError": {
"request-id": "516c451a-1052-4918-9671-2ebfa8d2f795",
"date": "2017-04-06T19:35:32"
}
}
}
您在聯合域中創建用戶的請求必須包含onPremisesImmutableId。 這就是為什么您的請求開始失敗的原因(在將域轉換為聯合域之后)。 即使此屬性表示它是不可變的,也要表示它應該是用戶本地的不可變id的值-以便可以將本地用戶對象綁定到雲用戶對象。 如果您沒有正確設置此屬性,則聯合登錄將不起作用。 可以更新此屬性(盡管出於明顯的原因不建議使用),並且如果用戶已移至非聯合的僅雲域,則可以將其無效。
如果您嘗試在未設置onPremisesImmutableId的情況下在聯合域中創建用戶(或者甚至在不設置onPremisesImmutableId的情況下將用戶的userPrincipalName更改為聯合域下的用戶),則出現400錯誤是適當的。 該錯誤的確表明未正確設置某些內容-但是錯誤消息是我們**做*肯定需要改進的工作,並且可以做得更精確。
希望這可以幫助,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.