go-ruby-saml

Pure-Go (no cgo), MRI-faithful port of Ruby's ruby-saml gem โ€” the SAML 2.0 Service Provider toolkit exposed as OneLogin::RubySaml.

pure Go ยท zero cgo Ruby saml MRI-faithful rbgo-bindable differential oracle 100% coverage 6 arches
Documentation GitHub
Documentation (MkDocs Material + mike) License: BSD-3-Clause Go 1.26.4+ Coverage 100%

Pure-Go (no cgo), MRI-faithful port of Ruby's ruby-saml gem โ€” the SAML 2.0 Service Provider toolkit exposed as OneLogin::RubySaml. It is a pure-Go (no cgo) reimplementation of Ruby's saml, mirroring its observable behaviour without any Ruby runtime. It is a standalone, reusable module โ€” the backend bound into go-embedded-ruby by rbgo, the same pattern as go-ruby-yaml โ€” differential-tested against reference Ruby, 100% coverage, CI green across 6 arches and 3 OSes.

Pure Go, zero cgo ready

saml builds with CGO_ENABLED=0 โ€” it cross-compiles to every Go target with no C toolchain and links into a single static binary.

Reference-faithful ready

Mirrors the observable behaviour of Ruby’s saml from reference Ruby (MRI), validated by a differential oracle against the reference rather than approximated โ€” without any Ruby runtime.

Standalone & reusable ready

A standalone Go module any program can import; the OAuth-style dependency runs the other way โ€” rbgo binds it into go-embedded-ruby as a native module, the same pattern as go-ruby-yaml.

100% coverage ยท 6 arches ready

100% test coverage is the CI gate, gofmt + go vet clean, green across the six 64-bit Go targets (amd64, arm64, riscv64, loong64, ppc64le, s390x โ€” including the big-endian lane).

A faithful pure-Go port of Ruby's saml, cgo disabled, so it cross-compiles and embeds anywhere. Validated differentially against reference Ruby. It is a standalone, reusable module and the backend bound by rbgo into the sibling org github.com/go-embedded-ruby.