簡體   English   中英

Azure AD是否提供API方法來以編程方式驗證用戶?

[英]Does Azure AD provide an API method to validate a user programmatically?

我想通過Web應用程序和本機移動應用程序驗證Azure AD用戶,盡管Azure AD不是我正在使用的唯一IdP。

我已經閱讀了OAuth2文章,但是在跟蹤API方法以針對用戶進行驗證時遇到了麻煩。 一個答案指出,您在獲取令牌時可以傳遞usernamepassword參數,但似乎無法對此進行驗證。

有一個DotNet解決方案的示例,但我對.NET不熟悉-嘗試運行它並遇到了System.TypeLoad異常( Could not load type of field 'Microsoft.Owin.Security.ActiveDirectory.WsFedMetadataRetriever:CS$<>9__CachedAnonymousMethodDelegate5'

我以前曾嘗試設置SimpleSAML解決方案,但缺點是,對於本機應用程序,它需要額外的工作,可能不適合。

我建議您將用戶重定向到Azure AD登錄頁面。

從技術上講,您可以嘗試使用“資源所有者密碼憑據”授予來驗證用戶。 但是,它不會總是工作。

這涉及您使用類似於以下內容的表單數據向OAuth令牌端點發出POST請求:

grant_type=password&username=user@example.com&password=Password&client_id=your-client-id&client_secret=your-client-secret&resource=resource-you-want-the-token-for

該資源可能是https://graph.windows.net因為默認情況下您可以訪問該資源。 如果結果成功,則是,該用戶存在並且憑據有效。

但是,如果失敗,則可能由於以下原因而發生:

  • 用戶不存在
  • 密碼錯誤
  • 用戶已啟用多因素身份驗證
  • 該用戶是聯盟用戶(來自本地AD),並且必須通過ADFS進行身份驗證

因此,在某些情況下它根本無法工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM