【发布时间】:2020-12-15 04:40:44
【问题描述】:
目前,我正在构建使用两个选项进行身份验证的 Web 应用程序 + Web API。有一个登录页面(登录页面)要求用户选择通过以下方式进行身份验证:
-
(内部)Azure AD
-
(外部)用户名和密码
如果选择 Azure AD,它将重定向到 login.microsoftonline.com。 如果选择用户名和密码,则会要求用户输入用户名和密码。稍后它将通过数据库(主用户)进行验证。
我已经通过 Azure AD 设置了我的 Web 应用程序和我的 Web API。
问题:
- 如何验证使用外部帐户访问的用户(通过用户名和密码)?
- 能否在 Azure AD 中创建 1 个虚拟帐户(例如 emailxxx.onmicrosoft.com)并在此帐户下为我的所有外部帐户执行身份验证?我看到我的一些选项是使用资源所有者密码凭据授予流程 (ROPC),但不建议这样做。
【问题讨论】:
-
您所说的外部用户是来宾用户吗? docs.microsoft.com/en-us/azure/active-directory/…
-
是的,但我想为我的所有外部用户创建 1 个来宾用户,因为他们不会使用存储在 Azure AD 中的密码登录,而是来自我的应用程序数据库主用户。我设法通过使用来自 IPublicClientApplication 的 AcquireTokenByUsernamePassword 来执行 ROPC。如何为 Azure AD 帐户执行模拟?
标签: asp.net-core authentication azure-active-directory