auth: Support OIDC

Open
#32 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
ruby

Research direction

Start by tracing the existing authentication flow and reviewing how dependencies and environment variables are configured. Use the requested OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, and OIDC_LABEL settings with omniauth_openid_connect, and consider the work done when providers such as Keycloak and Authelia can authenticate users with a customized login label.

Written by the indexing model from the issue text.

Description

chore

When self hosting, it's nice to be able to support OIDC providers like Keycloak and Authelia. With this, self-hosters have a single source of truth for their user management.

Typically apps do this by:

  • OIDC_ISSUER environment variable: This is the base of your auth provider, and use /.well-known/openid-configuration to load the discovery document
  • OIDC_CLIENT_ID / OIDC_CLIENT_SECRET environment variables: Pretty self explanatory
  • OIDC_LABEL environment variable: It's nice when apps let you customize this. So instead of "Login with SSO", it can say "Login with Authelia", or "Login with Keycloak", or anything.

The omniauth_openid_connect from Omniauth themselves does most of the heavy lifting.

Dominant language
Ruby
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

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.

More from lofimx/savebutton-web

All issues in lofimx/savebutton-web

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.