asp.net-mvc - 无需登录的身份服务器
问题描述
我试图实现 IdentityServer 授权,我的场景如下:
我们的所有应用程序“www.vision2025.com”都有一个主页,并且我有指向我的 mvc 应用程序“MarketingDashboard”的链接,用户通过主页进行身份验证并使用 Windows 身份验证重定向到我的 mvc 应用程序。现在用户可以在我的仪表板中执行与 Web API 交互的任何操作。
现在我需要实现 IdentityServer 来授权来自我的仪表板的所有 Web API 调用,但不需要登录。
请提出任何想法
提前致谢
解决方案
我认为您不想构建IdentityServer
,因为您的企业公司已经构建了 ADFS(Active Directory 联合服务)。你只想问谁维护 AD 并要求他为 OAuth2 启用 ADFS。这是一个帮助您捕捉所有场景的页面。
因为我不知道您可以为所有应用程序更改多远,但是您可以使用一些 ADFS 解决方案:
- 让您的主服务器(充当主页和用户重定向到 ADFS 登录的地方)执行代表流程。在这种情况下,您的主服务器将是一个链接服务器,用于传输
access token
从 ADFS 检索到的内容。我强烈推荐这种方式,因为您只想添加与即将推出的新 Web 和 API 一样多的内容。缺点是它们要求您确保access token
在主服务器中高度保护 - 因为
OAuth 2.0
还不支持链接资源服务器(比如你登录了资源服务器A,然后provided access_token
在不同的客户端调用资源服务器B),你需要让你的主服务器存储他的用户名/密码(也称为可信后端server,表示您的企业允许此服务器可以存储客户端凭据)。因此,每次将用户重定向到目标 MVC 应用程序时,您也应该传输加密的用户名/密码。然后您的目标 MVC 应用程序可以 在后端代码中执行授权流或隐式流access token
本身,然后返回新的客户端 web 以执行调用 Web API。
推荐阅读
- arrays - 使用 Groovy 的简单井字游戏(switch 语句中的索引不会更改双数组中的元素)
- c - 存在或不存在等待时 fork 系统调用的控制流程
- reactjs - 如何在 Next JS 中显示本地视频?
- java - Java Spring RestTemplate 从 api 获取 1 个对象
- html - 具有三角形和半透明背景的语音气泡
- c++ - 将 C 运行时的私有副本与 Windows 应用程序一起提供的最佳方式是什么
- python - 如何在 if else 中使用函数
- assembly - 组装执行顺序
- python - 是否可以在 Google Colab 上运行 Selenium?
- sql - 如何在 Postgresql 中减少所有 $0 之前创建行?