首页 > 解决方案 > 如何找到当前登录电脑的azuer AD/office 365用户?

问题描述

我正在创建一个 Web 应用程序,它将根据用户的 azure ad / office 365 帐户对用户进行身份验证。要登录他们的计算机,他们使用他们的 ad/office 365 帐户,他们将无需根据他们的 AD 访问权限登录即可访问 Web 应用程序。

我尝试按照教程使用弹簧和角度设置这种类型的身份验证:

https://docs.microsoft.com/en-us/java/azure/spring-framework/configure-spring-boot-starter-java-app-with-azure-active-directory?view=azure-java-stable

几乎所有这些指南或文档都需要在 azure 广告网站上设置应用程序,该应用程序会为 Web 应用程序生成客户端 ID、密钥和租户 ID,可以与 Spring Security 一起使用来对用户进行身份验证。

我没有创建应用注册的访问权限/权限,但我仍然需要获取尝试访问我的 Web 应用程序的用户的广告 userId。

有一个使用 asp.net core 和 angular 创建的现有 Web 应用程序,它完成了我试图在 java spring 中实现的目标。我试图了解它如何对用户进行身份验证,但我仍然很难过。

在 .net 核心项目中,控制器调用 HttpContextAccessor.HttpContext.Request.Header 以获取登录到其 office 365 / 广告帐户的用户的 userId。此调用在控制器类中进行。

我不能发布更多的 c# 代码,因此可能很难帮助我理解它在 asp.net 中的工作原理,但是如果有任何方法可以实现我在 Java Spring 中描述的内容,我很想知道。

标签: c#angularspringspring-mvcazure-active-directory

解决方案


如果不在这些用户 AAD 租户中注册您的应用程序,则无法实现此目的。这是在您的应用程序和执行用户身份验证工作的授权 (AAD) 之间建立信任的一部分。通过注册您的应用程序 ID 和回复 url,您告诉 AAD 可以向您发送用户信息。


推荐阅读