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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OKTA SLO Integration #592

Open
Murarius opened this issue May 20, 2021 · 4 comments
Open

OKTA SLO Integration #592

Murarius opened this issue May 20, 2021 · 4 comments

Comments

@Murarius
Copy link

Murarius commented May 20, 2021

Hi
Im working on SAML integration with AZURE and SAML
Azure is working fine but i have problem with OKTA SLO

Added:
config.saml_configure do |settings|
settings.security[:logout_requests_signed] = true
settings.certificate = "..."
settings.private_key = "..."
end

and certificate used in settings is added as Signature Certificate on OKTA Edit SAML Integration form
but when im trying to log out i get: "User single sign out from app failure: Invalid Signature" Error. on LogoutRequest

My question: Has anyone implemented OCTA SLO? What is wrong?
Im uploading good certificate?
should i fill something in SP Issuer input on Edit SAML Integration form on OKTA page?

@pitbulk
Copy link
Collaborator

pitbulk commented Jun 2, 2021

Invalid Signature means that the entity was not able to validate the signature related to the SAML Message.
Verify that the entity that verifies the signature has registered the same public cert of the entity that generated the SAMLResponse.

@darrylhopkins
Copy link

darrylhopkins commented Jun 3, 2021 via email

@pitbulk
Copy link
Collaborator

pitbulk commented Jun 3, 2021

I have observed that Okta supports SP-initiated SLO but not IDP-initiated SLO.

No idea why they don't support IDP-initiated SLO :(

Okta also does not support HTTP-Redirect binding and only HTTP-POST for the generated LogoutRequest and LogoutResponses.

SLO at Okta requires LogoutRequest and LogoutResponses to be signed, so you need to register the SP cert at Okta that will allow the Signature validation.

@hasmanyguitars
Copy link

hasmanyguitars commented Sep 27, 2022

I was able to get OKTA SLO working (SP-initiated) in https://github.com/onelogin/ruby-saml/releases/tag/v1.14.0 by adding:

settings.idp_slo_service_binding = OneLogin::RubySaml::Utils::BINDINGS[:redirect]

to the SAML settings before creating the OneLogin::RubySaml::Logoutrequest

The metadata returned by my OKTA app includes both bindings:

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

This library picks the first one. So when I tried to redirect to the generated SLO URL, OKTA was looking for the signature in the query params. However, the signature was actually embedded in the SAML document instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants