russellhaering/gosaml2

Pure Go implementation of SAML 2.0

Go

370

289 commits

updated Sep 2, 2026

See the code

README

gosaml2

Build Status GoDoc

SAML 2.0 implemementation for Service Providers based on etree and goxmldsig, a pure Go implementation of XML digital signatures.

Installation

Install gosaml2 into your $GOPATH using go get:

go get github.com/russellhaering/gosaml2

Example

See demo.go.

Supported Identity Providers

This library is meant to be a generic SAML implementation. If you find a standards compliant identity provider that it doesn't work with please submit a bug or pull request.

The following identity providers have been tested:

  • Okta
  • Auth0
  • Shibboleth
  • Ipsilon
  • OneLogin
  • Azure Active Directory (Azure AD)

Contributors

russellhaering

142 commits

dependabot[bot]

43 commits

pradeephkcisco

23 commits

phoebesimon

19 commits

russellhaering/gosaml2

Pure Go implementation of SAML 2.0

Go

370

289 commits

updated Sep 2, 2026

See the code

README

gosaml2

Build Status GoDoc

SAML 2.0 implemementation for Service Providers based on etree and goxmldsig, a pure Go implementation of XML digital signatures.

Installation

Install gosaml2 into your $GOPATH using go get:

go get github.com/russellhaering/gosaml2

Example

See demo.go.

Supported Identity Providers

This library is meant to be a generic SAML implementation. If you find a standards compliant identity provider that it doesn't work with please submit a bug or pull request.

The following identity providers have been tested:

  • Okta
  • Auth0
  • Shibboleth
  • Ipsilon
  • OneLogin
  • Azure Active Directory (Azure AD)

Contributors

russellhaering

142 commits

dependabot[bot]

43 commits

pradeephkcisco

23 commits

phoebesimon

19 commits

Languages

Go

99.0%