Bug 57016 - OpenID-Connect Login at Portal
OpenID-Connect Login at Portal
Status: NEW
Product: UCS
Classification: Unclassified
Component: Portal
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
https://git.knut.univention.de/univen...
:
Depends on: 49006
Blocks:
  Show dependency treegraph
 
Reported: 2024-01-31 14:54 CET by Florian Best
Modified: 2024-01-31 14:54 CET (History)
2 users (show)

See Also:
What kind of report is it?: Feature Request
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2024-01-31 14:54:35 CET
The Portal server could be a standalone OpenID Connect Relying Party, which offers authentication redirections via Authorization Code Flow and logout instead of re-using the UMC session, which is based on that the cookies on the same host are used for both UMC and portal.

For the portal scalability is important, therefore we could try to not store session state on the server but move e.g. the tokens into a encrypted cookie.
This required frontchannel logout as we have to reset cookies of the client - no backchannel logout possible without keeping a list of denied access tokens. 

OAuth supports token impersonation, which we could use to let the access tokens which the portal receives be limited in scope and let the server exchange it with a more privileged token which has a audience(+azp) allowed to contact UDM-REST-API / UMC / LDAP.

https://datatracker.ietf.org/doc/html/rfc8693
https://www.keycloak.org/docs/latest/securing_apps/index.html#_token-exchange.
https://www.scottbrady91.com/oauth/delegation-patterns-for-oauth-20

It's important that user agents don't get the tokens as with them you can authorize against UDM REST API, UMC and OpenLDAP.

If we keep the token wheak enough it might also just be a idea to implement it as public client.

We could also try to replace the navigation-god-mode with bearer authentication instead of basic authentication. (And maybe with user impersonation).

+++ This bug was initially created as a clone of Bug #49006 +++