Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

mocksaml metadata doesn't have a SLO URL #2113

Open
dnoliver opened this issue Jan 3, 2024 · 3 comments
Open

mocksaml metadata doesn't have a SLO URL #2113

dnoliver opened this issue Jan 3, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@dnoliver
Copy link

dnoliver commented Jan 3, 2024

Found a bug? Please fill out the sections below. 馃憤

Issue Summary

A summary of the issue. This needs to be a clear detailed-rich summary.

Not sure if this is a bug!
I am trying to use https://mocksaml.com as a mock for my idp for single sign on and single log out.
I am using the metadata url to configure my saml library https://github.com/SAML-Toolkits/python3-saml
So because the https://mocksaml.com metadata file doesn't have an SLO item, my lib tells me that SLO is not supported by the idp (which make sense).
But I also found some PRs and issues resolved related to slo (#128, and boxyhq/saml20#14), so wanted to check if this is something that should be supported but its just missed from the public metadata file.

Steps to Reproduce

Well, for me, this is how I implemented SLO with the library I referenced.
The last line of the snippet throws: onelogin.saml2.errors.OneLogin_Saml2_Error: The IdP does not support Single Log Out

    from onelogin.saml2.auth import OneLogin_Saml2_Auth
    from onelogin.saml2.idp_metadata_parser import OneLogin_Saml2_IdPMetadataParser

    def logout(self, request):
        """Initialize SAML logout"""
        req = self.__prepare_tornado_request(request)
        idp_data = OneLogin_Saml2_IdPMetadataParser.parse_remote(
            self.saml_idp_metadata, timeout=5
        )
        self.saml_settings["idp"] = idp_data["idp"]
        auth = OneLogin_Saml2_Auth(req, self.saml_settings)
        return auth.logout(name_id=None, session_index=None)

But also, a simple way to show this problem is just to go to https://mocksaml.com/api/saml/metadata, and check for the following missing properties:

<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="<URL>"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="<URL>"/>

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

I consider this a bug because I couldn't find docs saying if mocksaml supports slo or not, but I could find prs and issues referencing the support for slo. Maybe a "this service doesn't support slo" would be nice if that is the expectation

Technical details

  • Browser version: You can use https://www.whatsmybrowser.org/ to find this out.: Chrome 120
  • Node.js version: N/A (not using this as a lib, I'm using the service)
  • Anything else that you think could be an issue.

Thanks for doing this! It has been super helpful to develop and test SAML integration so far!

@dnoliver dnoliver added the bug Something isn't working label Jan 3, 2024
@dnoliver dnoliver changed the title https://mocksaml.com/api/saml/metadata don't have a SLO URL mocksaml metadata don't have a SLO URL Jan 3, 2024
@dnoliver dnoliver changed the title mocksaml metadata don't have a SLO URL mocksaml metadata doesn't have a SLO URL Jan 3, 2024
@deepakprabhakara
Copy link
Member

Thanks for reporting this, adding SLO to Mock SAML makes a lot of sense.

@bool-dev
Copy link

bool-dev commented Feb 2, 2024

Hi Folks, would love some info on this, can't see the SLO URL setting anywhere yet in the latest version.

@deepakprabhakara
Copy link
Member

@bool-dev We haven't had the bandwidth to add this to https://github.com/boxyhq/mock-saml, we do invite PRs to add this :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants