是否有针对The Go语言的SAML库?

Pet*_*ter 5 go saml-2.0

我看到goauthgo-oauth OAuth库是为Go编程语言编写的,但是几个小时的在线搜索没有为SAML编写任何内容.

我想使用Go来实现使用SAML进行Web服务的SSO支持,但是没有用于Go的SAML库,我看起来必须将SAML逻辑"包装"在一个单独的服务中,用另一种语言实现.

有没有人知道Go-friendly SAML库,或者是一些使用Go程序中的Java,C或PHP库的技巧?

小智 7

我使用过gosaml并且效果很好,但也有来自机器人和铅笔的go-saml.

我想在一年后,回答这个问题会很好,因为对于那些为Go寻找SAML库的人来说,这里仍然有一些答案.


Jim*_*imB 4

我还没有看到 Go 的 SAML 实现,但您可以使用已经在应用程序前面实现它的服务器。

Shibboleth是受支持最好的 SAML 实现之一。apache 模块是最成熟的,并且可能是最容易使用的方法,因为您只需将应用程序放在 apache 中的反向代理后面即可。还有一个 fastcgi 身份验证器,它使用相同的后端,但我不能说它易于实现。

如果您只需要服务提供商,最简单的 SAML 绑定是 HTTP-POST-SimpleSign。我用 python 做了一个概念验证实现,尝试演示最简单的 SP。我没有声明该模块的稳健性,但您可以看到不需要太多代码就可以完成它。假设您正在使用的身份提供商支持此绑定。与往常一样,在部署任何与安全相关的自定义代码时要小心。