Git Product home page Git Product logo

Comments (5)

takuy avatar takuy commented on August 18, 2024

Hi @ekaterinasmarp, I was struggling with the same thing. After some tinkering, I think this would do it.

	sp := &saml2.SAMLServiceProvider{
		IdentityProviderSSOURL:      metadata.IDPSSODescriptor.SingleSignOnServices[0].Location,
		IdentityProviderIssuer:      metadata.EntityID,
		ServiceProviderIssuer:       "http://localhost:8080",
		AssertionConsumerServiceURL: "http://localhost:8080/v1/_saml_callback",
		SignAuthnRequests:           true,
		AudienceURI:                 "http://localhost:8080",
		IDPCertificateStore:         &certStore,
		SPKeyStore:                  LoadKeyStore("myservice.cert", "myservice.key"),
	}

	meta, err := sp.Metadata()
	xmlMeta, err := xml.Marshal(meta)

	fmt.Println(string(xmlMeta[:]))

from gosaml2.

takuy avatar takuy commented on August 18, 2024

Though, it seems some of the Metadata generated by this library is found to be invalid by https://samltest.id/ (the replacement for testshib.org). I'll see what can be done about that.

from gosaml2.

SeniorCluckers avatar SeniorCluckers commented on August 18, 2024

@takuy @ekaterinasmarp

I actually have it where you visit the link such as (https://domain.com/saml/metadata) it shows you the metadata xml. I tested on samltest.id and it works fine without any issues. However, I created the XML file manually using a struct. Note that I knew what my metadata file had to have based on the request response.

from gosaml2.

takuy avatar takuy commented on August 18, 2024

@SeniorCluckers would you be able to share some sample code? Interested in how you're doing it.

from gosaml2.

shentschel avatar shentschel commented on August 18, 2024

A little old but I had the same error on samltest. My fix:

metadata, err := sp.Service.Metadata()
if err != nil {
  return nil, err
}

// Workaround as the lib is currently marshalling to nanoseconds which cannot be used with samltest
metadata.ValidUntil = time.Now().Add(time.Hour * 24 * 7).Round(time.Millisecond)

return xml.MarshalIndent(metadata, "", "  ")

Maybe this helps somebody else with the same problem :)

from gosaml2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.