为 Google 实施 dotnet core 身份提供商服务器 [已关闭]

问题描述 投票:0回答:1

我想使用我自己的 .net core Web 应用程序作为身份提供商来验证我的 GSuite 用户。

https://support.google.com/a/answer/60224?hl=zh-CN

但是,我不知道从哪里开始。我一直在积极而努力地寻找解决方案,但它们都来自商业公司,使用他们的服务有点过分了。

一个好的商业提供商是: https://www.componentpro.com/products/saml

是否有我错过的隐藏的 gem 开源库?

我知道这个问题很普遍,但非常感谢任何帮助。

.net asp.net-core .net-core single-sign-on saml
1个回答
2
投票

.NET 没有官方
SAML2
堆栈。

要为联合身份构建符合 SAML 的

Identity Provider
,您不仅需要 SAML 令牌,还需要 SAML 协议(v2 是我见过的唯一受到 Google、Okta、Auth0、AWS Cognito 等外部提供商支持的协议) )。它们都使用 SAML 2.0 协议中的 SAML 1.1 或 2.0 令牌

经过长期研究(仍在进行中),我只找到了一个我信任的免费 SAML2 库:

Sustainsys
(您可以在 NuGet 上找到它)。它将在您的应用程序上启用 SAML2(包括协议),执行断言验证等。看起来很有趣,但它只适用于新项目。

您也可以依赖两个付费套件:

ComponentPro
ComponentSpace
(最后一个听起来更稳定/更强大,但这只是一种感觉,因为您找不到真正的证据来证明它已被所有这些人使用过)公司在现实世界的生产应用程序上。

您可以创建符合 SAML2-P 标准的应用程序/模块,但您必须处理签名、消息接收、验证、断言等。我建议反对,因为很容易错过一些稍后可能被利用作为安全漏洞的东西。

您可以使用其他联邦替代方案

SAML 并不是唯一的路径。您也可以尝试

OpenID Connect
WS-Federation
。查看有关
Authentication Federation
主题的更多信息,您会发现其他协议。人们可能比使用
SAML
更容易解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.