Skip to content
Pure Go implementation of SAML 2.0
Branch: master
Clone or download
russellhaering Merge pull request #48 from moorereason/trav
Update Go versions in Travis CI config
Latest commit 2506a07 Apr 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
providertests Fix go 1.6 tests May 8, 2018
s2example Fix demo Sep 24, 2018
types Add support for extracting a base set of unverified attributes from a… May 7, 2018
uuid Drop dependency on external uuid library Jan 10, 2018
.gitignore New unit test results based on handle encrypted signed assertions cha… Aug 4, 2017
.travis.yml Update Go versions in Travis CI config Sep 12, 2018
LICENSE Begin hacking on a pure Go SAML 2.0 implementation Mar 15, 2016 Add OneLogin to the list of tested providers Mar 17, 2017
attribute.go Refactor Assertion processing to use structured objects Apr 4, 2017
authn_request.go Add AuthRedirect method, tests, and AuthNRequest type Jul 14, 2016
build_request.go construct AuthnRequest signature with proper query ordering Aug 20, 2018
build_request_test.go Test inclusion and omission of RequestedAuthnContext Mar 18, 2017
decode_response_test.go Check encryption certificate Validity when told to do so Aug 14, 2017
retrieve_assertion.go RetrieveAssertionInfo(): indicate what elements have validated signat… Sep 7, 2017 Check encryption certificate Validity when told to do so Aug 14, 2017
saml.go removed IDPSSODescriptor from SP metadata Feb 8, 2018
saml_test.go Unify saml_test.go and saml2_test.go May 4, 2018
test_constants.go TW: Added a unit test to validate that the XML parsing behavior used … Mar 6, 2018
validate.go Fixed Destination vs. Issuer typo in comment Sep 21, 2017
xml_constants.go Handle encrypted signed assertions. Aug 4, 2017


Build Status GoDoc

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


Install gosaml2 into your $GOPATH using go get:

go get


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
You can’t perform that action at this time.