riot-web/docs/oidc.md

1.8 KiB

OIDC and delegated authentication

Compatibility/OIDC-aware mode

MSC2965: OIDC provider discovery MSC3824: OIDC aware clients This mode uses an SSO flow to gain a loginToken from the authentication provider, then continues with SSO login. Element Web uses MSC2965: OIDC provider discovery to discover the configured provider. Wherever valid MSC2965 configuration is discovered, OIDC-aware login flow will be the only option offered.

(🧪Experimental) OIDC-native flow

Can be enabled by a config-level-only setting in config.json

{
    "features": {
        "feature_oidc_native_flow": true
    }
}

See https://areweoidcyet.com/client-implementation-guide/ for implementation details.

Element Web uses MSC2965: OIDC provider discovery to discover the configured provider. Where OIDC native login flow is enabled and valid MSC2965 configuration is discovered, OIDC native login flow will be the only login option offered. Element Web will attempt to dynamically register with the configured OP. Then, authentication will be completed as described here.

Statically configured OIDC clients

Clients that are already registered with the OP can configure their client_id in config.json. Where static configuration exists for the OP dynamic client registration will not be attempted.

{
    "oidc_static_clients": {
        "https://dummyoidcprovider.com/": {
            "client_id": "abc123"
        }
    }
}