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

Support redirect for Logout flows #277

Merged
merged 1 commit into from
Oct 4, 2018

Conversation

stavros-wb
Copy link
Contributor

@stavros-wb stavros-wb commented Apr 12, 2018

• Builds on #16 Inflating redirect response
• Reverts [638ce6e accepting redirect as well as post; redirect not verified(638ce6e)
• Implements
Support HTTP-Redirect binding for IdP to SP SLO

@stavros-wb stavros-wb force-pushed the slo_redirect branch 2 times, most recently from 65a5ea7 to 0b895a9 Compare April 12, 2018 09:20
@stavros-wb stavros-wb changed the title Support redirect flows Support redirect for Logout flows Apr 16, 2018
@berzniz
Copy link

berzniz commented May 9, 2018

I would love to see this merged - did you try it with SLO of OneLogin?

@stavros-wb
Copy link
Contributor Author

stavros-wb commented May 10, 2018

I had (and fixed) a bug when retrieving the Issuer from the LogoutRequest. I've tested with SimpleSamlPhp and Onelogin. Although I can't find how to setup OneLogin to include a signature for the LogoutRequest to make sure the signature validation works as well.

@markstos
Copy link
Contributor

markstos commented Sep 11, 2018

To help review, you could link to the part of the SAML spec that discuss SP SLO and related topics.

I think this will be a nice feature to add, but want to be sure about our spec compliance.

Thanks.

@markstos
Copy link
Contributor

Also could you say more about why the mentioned commit was reverted?

@stavros-wb
Copy link
Contributor Author

@markstos from the spec

The message SHOULD be signed or otherwise authenticated and integrity protected
by the protocol binding used to deliver the message.
.......
The message SHOULD be signed or otherwise authenticated and integrity
protected by the protocol binding used to deliver the message.

which builds a use case for supporting redirect SLO (protocol binding) and verifying its signature, if it exists.

regarding the commit, I think it's an error on my end, I meant revert
6f2087e#diff-93caed0af903b38719faa793f7afae18

I'll amend and rebase on master

@stavros-wb
Copy link
Contributor Author

See also the TODO on 638ce6e#diff-41fc97a3e28a2b6f8b5ec3bdae6130d5R190 the signature of the saml{request|response} in a redirect flow is passed as a query param

@markstos
Copy link
Contributor

@stavros-wb Thanks! I'll look for the revised PR.

@markstos markstos added needs-review Ready for a collaborator to review. and removed pending-refinement labels Sep 26, 2018
@markstos
Copy link
Contributor

markstos commented Oct 2, 2018

@stavros-wb I'm thinking of doing a "1.0" release within the next 10 days and could include this revised PR if it's ready.

@markstos markstos added pending-refinement 1.0 and removed needs-review Ready for a collaborator to review. labels Oct 2, 2018
@stavros-wb stavros-wb force-pushed the slo_redirect branch 2 times, most recently from 6995d78 to 1dff351 Compare October 2, 2018 14:44
@stavros-wb
Copy link
Contributor Author

thanks @markstos , rebased and squashed on latest master

@markstos
Copy link
Contributor

markstos commented Oct 3, 2018

@stavros-wb This looks good to me. Are they are related updates to the README that need to be made for this?

@cjbarth Any other concerns here before this gets merged?

@markstos
Copy link
Contributor

markstos commented Oct 3, 2018

@stavros-wb Also, can you confirm if this is considered a breaking change?

@cjbarth
Copy link
Collaborator

cjbarth commented Oct 3, 2018

I don't have any concerns about this, but I also don't have a lot of experience with this. I do feel that a README update is warranted though.

@stavros-wb
Copy link
Contributor Author

@markstos

@stavros-wb Also, can you confirm if this is considered a breaking change?

Nope. this is not a breaking change. It supports redirects on Logouts, while right now passport-saml supports only POST

@cjbarth

I don't have any concerns about this, but I also don't have a lot of experience with this. I do feel that a README update is warranted though.

I don't think a README entry is required. I'm not opposed to it, though. SLO is already supported if the protocol binding is POST by providing the callback url to the IDP. changing it to redirect would only require changing the setting on the IDP, no further configuration on SP.
What do you have in mind for the docs?

@markstos
Copy link
Contributor

markstos commented Oct 3, 2018

I think it would be useful to mention in the Logout section of the docs that we support SLO and explicitly mention that we support both POST and Redirect bindings.

  • Builds on node-saml#16
  • Reverts 638ce6e
  • Implements node-saml#191
@stavros-wb
Copy link
Contributor Author

@markstos I've added a small list regarding SLO in the README file

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

Successfully merging this pull request may close these issues.

4 participants