wasm-oidc-plugin icon indicating copy to clipboard operation
wasm-oidc-plugin copied to clipboard

[BREAKING] feat/refactor/docs: multiple providers, large refactor, configurable ticking interval, fix for jwks endpoint has different host

Open antonengelhardt opened this issue 1 year ago • 0 comments

Please describe your changes and why you made them

Multiple OpenID providers

  • the plugin can now be configured to use multiple providers for token issuing and validation
  • the discovery fetches all information from the configured providers, loads the jwks etc.
  • if there is more than one provider, then the user can select a provider to authenticate with on a dedicated page. this happens with a callback (_wasm-oidc-plugin/provider-selection?authorize_with_provider=wwu&return_to=lw), which then redirect to the authorization_endpoint, because otherwise we would not be able to know which server sent the code in the code callback.
  • if there is only one provider, the redirection will happen right away

Small features

  • configurable ticking interval (ticking_interval_in_ms)
  • logout path to clear cookies and end session (optional) as in #96
  • get envoy request id and show it in the logs & error page when something fails #101

Refactor & fixes

  • large refactor of the files and codebase (more to come)
  • fix if open id providers had the jwks_uri exposed at a different host than the openid-configuration host
  • get :scheme to parse url as in #98
  • pretty print discovery and jwks responses when log level is debug

Does this PR introduce a breaking change?

[!WARNING] This PR introduces a breaking change: Please see envoy.yaml for the updated config structure

TODOs

  • [x] Update k8s files
  • [ ] Write a script to migrate config
  • [x] Readme
  • [ ] More comments, docs and logs
  • [x] Error pages in html.rs
  • [x] Include #98
  • [x] Include #96

Other information and Screenshots (if appropriate)

🤫 It has darkmode

Arc 2024-09-05 23 39 19

Screenshot-Arc-008756@2x

Linked

For #93

more to come

antonengelhardt avatar Sep 05 '24 21:09 antonengelhardt