当前位置: 首页 > 知识库问答 >
问题:

了解如何将 SAML2 SSO 实现到现有的 .net Web API

帅令雪
2023-03-14

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

共有1个答案

邵捷
2023-03-14

问题是SAML规范不适合API(webapi或RESTAPI)。这纯粹是一个浏览器SSO重定向协议。

在ADFS中,API由Application向导配置,但那是带有JWT而不是XML令牌的OpenID Connect。

更新

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

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

 类似资料:
  • 我创建了一个扩展JTextArea的新类,并用FocusListener实现了这个类,但是focusLost方法中的代码没有被执行。原因是什么?

  • 基于文档(4.7.6 -了解特定的依赖关系),我们可以通过指定配置本身来了解特定的配置。在示例中,他们将配置< code>compile用作不推荐使用的配置。我试图重现相同的命令,将< code>build.gradle中的< code>compile配置替换为< code>implementation配置(正如我所得到的,我们不应该再使用< code>compile)。但是当我跑的时候: Gra

  • 问题内容: 如何添加到MySQL表的现有列? 问题答案: 我认为您想按照命令中的说明进行操作。可能是这样的: 在上面运行之前,请确保该列具有主索引。

  • 我使用netbean创建了一个jframe,并向该jframe添加了一个jlabel(changeLbl)。之后,我向该JFrame添加了一个jbutton。现在,我需要创建一个新的jlabel并在单击JButton时将其分配给该jlabel(changeLbl)。所以我编写了类似bellow的代码,但它没有更改jlabel文本。我不明白为什么?正如我所知,当单击按钮时,changeLbl应该被引

  • 问题内容: 至于现在,我将在尝试附加对象时得到提示。我已经在互联网上搜索了一种解决方法。到目前为止,我发现的答案是无法完成。解决此问题的一种方法是将对象写入列表,然后将列表写入文件。 但是,每次添加新对象时,我都必须覆盖该文件。这似乎不是加班的最佳解决方案。 有没有一种方法可以将对象追加到现有对象流? 问题答案: 实际上,这很容易做到。当您添加到现有流时,需要使用ObjectOutStream的子

  • 我有广泛的基本特征。有些类型只关心其功能的子集,所以我添加了一个子集,要求用户实现更小的功能集。 此代码失败: 出现以下错误: 有趣的是,当我删除上的通用性时,它就起作用了: stackoverflow上的其他一些帖子也提到了类似的问题,但它们通常都有关于外来特征的问题(来自标准库的)。在我的案例中,特质和类型都是本地的,因此就我所知,孤儿规则不应该生效。 基本上,错误提到下游板条箱可能实现tra