c# - 如何找到当前登录电脑的azuer AD/office 365用户?
问题描述
我正在创建一个 Web 应用程序,它将根据用户的 azure ad / office 365 帐户对用户进行身份验证。要登录他们的计算机,他们使用他们的 ad/office 365 帐户,他们将无需根据他们的 AD 访问权限登录即可访问 Web 应用程序。
我尝试按照教程使用弹簧和角度设置这种类型的身份验证:
几乎所有这些指南或文档都需要在 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 中描述的内容,我很想知道。
解决方案
如果不在这些用户 AAD 租户中注册您的应用程序,则无法实现此目的。这是在您的应用程序和执行用户身份验证工作的授权 (AAD) 之间建立信任的一部分。通过注册您的应用程序 ID 和回复 url,您告诉 AAD 可以向您发送用户信息。
推荐阅读
- swift - DispatchGroup 做、尝试、抓住?
- pandas - AttributeError:“系列”对象没有属性“to_numeric”
- assembly - 有没有办法将 FF 的十六进制值存储在 LC3 的寄存器中
- javascript - 合并字符串中的重复项并用逗号附加值
- java - 如何在微服务架构中使用 feign 客户端上传多个 Multipart 文件
- matlab - Matlab执行UNIX命令在较新版本中不起作用
- php - 单击导航链接时如何使用 div 淡入和淡出页面
- dhcp - 在 LAN 上使用 machinectl 作为容器管理器
- php - PHP 准备对象查询不返回任何数据
- c# - 更新状态条标签异步/等待