我想使用我自己的.net核心Web应用程序作为身份提供者来验证我的GSuite用户。
https://support.google.com/a/answer/60224?hl=en
但是,我什至不知道从哪里开始。我一直在积极地努力寻找解决方案,但所有解决方案都来自商业公司,使用他们的服务有点过头。
好的商业提供商是: https://www.componentpro.com/products/saml
我错过了某个地方的隐藏的gem开源库吗?
我知道这个问题是很笼统的,但是对我们的帮助非常感谢。
答案 0 :(得分:2)
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
,可能更容易解决问题。
答案 1 :(得分:1)