cloudfoundry / cloudfoundry/stratos

Sso logout uses different endpoint

Open
#4,949 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community
Dominant language
TypeScript
Stars
267
Forks
137
Avg merge
5h 14m
Merged PRs (30d)
77

Description

Stratos Version

4.4.0 release

Frontend Deployment type
  • Cloud Foundry Application (cf push)
Backend (Jet Stream) Deployment type
  • Cloud Foundry Application (cf push)
Expected behaviour

Sso logout should probably use same endpoint as sso login.

Actual behaviour

When SSO is activated, login uses /sso_login which in method initSSOlogin in file authuaa.go redirects to p.Config.ConsoleConfig.AuthorizationEndpoint

Logout uses /sso_logout which in method ssoLogoutOfUAA also in file authuaa.go redirects to p.Config.ConsoleConfig.UAAEndpoint.

I think, this should be redirected to same endpoint.

Can i ask, why are there two endpoints, which looks like it should be same? I have noticed this because in our test cf enviroment somebody configured authorization_endpoint to https://login.something and token_endpoint to https://uaa.something, which both points to the same Uaa, but due different domains, user is never logged out from login domain (browser flow cookies).

Also, I didn't find anywhere in docs, that there must be logout in SSO_OPTIONS enviroment atribute, to activate sso logout, and if SSO_ALLOWLIST is used, it must contain logout too, because only logout and not full url is used as state in callback after logout - this is probably bug too.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in authuaa.go by comparing initSSOlogin and ssoLogoutOfUAA, especially their configured endpoint targets. Review how SSO_OPTIONS and SSO_ALLOWLIST handle logout and the callback state. Done means the logout flow uses the intended endpoint and the required logout configuration is documented or corrected.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.