首页 > 解决方案 > 了解如何将 SAML2 SSO 实施到现有的 .net web api

问题描述

我需要对我们现有的 Web API 实施 SAML 2.0 sso 身份验证。我对这个话题相当陌生,所以我不知道从哪里开始。我一直在玩开发 ADFS 服务器(ADFS 4 - Windows server 2016),并一直在关注如何设置依赖信任方的教程。我已经了解了 SAML 的工作原理,但仍然不知道如何通过代码实现这一点在我的 webapi 中。我想知道如何开始实施 SAML 2 身份验证以连接到 ADFS 服务器,Web 应用程序部署在不同的 iis 服务器上。我已阅读https://github.com/Sustainsys/Saml2/tree/master但我不知道我的 web api 如何连接到 ADFS 服务器以检索 SAML 令牌并进行处理。

标签: asp.net-web-apisaml-2.0adfs4.0

解决方案


您遇到的问题是 SAML 规范。不适合 API(webapi 或 REST API)。它纯粹是一个浏览器 SSO 重定向协议。

在 ADFS 中,API 由应用程序向导配置,但这是带有 JWT 而非 XML 令牌的 OpenID Connect。

更新

如果您的 webapi 是 REST API,则将 OIDC 与 JWT 一起使用。

仅供参考:ADFS 还支持 WS-Fed。WS-Fed 确实有一个 API 配置文件(称为活动配置文件),它本质上是 WCF。


推荐阅读