【发布时间】:2020-11-23 02:19:24
【问题描述】:
我有一个托管 Angular 10 应用程序的 .Net Core 3.1 程序。 Angular 应用程序有一个登录页面,用户可以在其中输入用户名和密码,这些用户名和密码将发送到 .Net Core 中的登录函数,该函数返回一个 oAuth 令牌,用于从 Angular 对 api 的所有调用。只有在针对数据库检查用户名和密码后,才会返回令牌。我想在登录表单上有一个“使用 Microsoft 登录”按钮,用户可以单击该按钮,而不是输入用户名和密码。我希望 .Net 核心应用程序然后调用 Azure Active Directory 并获取令牌。如果用户已经登录到 Azure AD,它只会返回令牌,如果没有,它会询问用户他们的 Active AD 凭据,然后在成功登录后返回令牌。.Net Core 程序然后可以询问 Azure AD令牌(而不是检查数据库中的用户名和密码),如果没问题,它会将 oAuth 令牌返回给 Angular 应用程序。除了 .Net Core 中的代码之外,我很清楚大部分内容可以执行以下操作:
- 查看用户是否已登录 Azure AD,如果没有则提示用户登录 Azure AD
- 向 Azure AD 发出请求,为经过身份验证的用户发送令牌
请帮忙。
【问题讨论】:
-
我们可以直接将 Azure AD auth 与 Angular 应用程序集成:docs.microsoft.com/en-us/azure/active-directory/develop/…
-
感谢@JimXu 的回复。我找到了如何从 javascript 执行此操作的示例,但我想知道如何从 .Net Core 执行此操作。如果用户登录到 Azure AD,我希望他们自动登录,这样他们就不会收到 Angular 登录页面的提示。
标签: angular azure .net-core azure-active-directory