Skip to content

[WIP] Add OpenID Connect login - #2585

Draft
daimond113 wants to merge 1 commit into
bitfireAT:mainfrom
daimond113:feat/oidc
Draft

[WIP] Add OpenID Connect login#2585
daimond113 wants to merge 1 commit into
bitfireAT:mainfrom
daimond113:feat/oidc

Conversation

@daimond113

Copy link
Copy Markdown

Purpose

Adds an OpenID Connect login type, which is useful particularly for setups that rely on SSO. Discussions around this have been made in #189 and #1620.

Short description

  • Added OAuthOidc based on OAuthGoogle and OAuthFastmail
  • Added OidcLogin/OidcLoginViewModel based on the other login types, particularly Google, Fastmail, and Nextcloud

Currently, this is an OpenID Connect only login method - no support for raw OAuth2. If wanted, adding individual fields for the required URLs (as mentioned here) is a possible alternative.

Using this login type requires a client id of a public client. Capturing cookies has been proposed as an alternative here, but it isn't OAuth/OIDC-compliant so it is generally better to avoid it.
Dynamic client registration could also be utilised, but it is rather rare for IdPs to support it which reduces its viability as an alternative.

Open questions:

  • resource metadata parsing should use parseAuthorizationHeaders but it is marked as an InternalApi. This can be solved by either opting in, or writing a mini parser ourselves
  • the suggestedAccountName isn't filled in because there isn't a JWT parser in any libraries. Should a dependency be added, or perhaps should we just handroll a parser for the payload?

Checklist

  • The PR has a proper title, description and label.
  • I have self-reviewed the PR.
  • I have added documentation to complex functions and functions that can be used by other modules.
  • I have added reasonable tests or consciously decided to not add tests.

@CLAassistant

CLAassistant commented Jun 30, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants