Skip to content

Need support for OIDC login #170

Open

Description

@aprabh001c

Is there support for OIDC login, if yes could you please help with some examples

Activity

  1. amity0 commented on Apr 28, 2021

    @amity0

    any updates on this issue?

  2. aviadhahami commented on Nov 10, 2022

    @aviadhahami
    Collaborator

    Hey @aprabh001c not afaik

    Feel free to PR this :)
    Closing the issue for now

  3. aviadhahami commented on Nov 10, 2022

    @aviadhahami
    Collaborator

    feature request --> support OIDC login

  4. mikicho commented on Dec 8, 2022

    @mikicho

    We also need oidc login.
    @aviadhahami not sure why did you close this issue.

  5. aviadhahami commented on Dec 15, 2022

    @aviadhahami
    Collaborator

    @mikicho mb
    We can reopen it
    I'm still waiting for full permissions from repo owner

  6. mikicho commented on Dec 15, 2022

    @mikicho

    Thanks! 🙏

  7. aviadhahami commented on Jul 20, 2023

    @aviadhahami
    Collaborator

    @mikicho heya - do you mind helping with implementing this?

  8. mikicho commented on Jul 20, 2023

    @mikicho

    Hi. I'm sorry, but I currently don't have the time to take care of this.

  9. aviadhahami commented on Jul 20, 2023

    @aviadhahami
    Collaborator

    Likewise; as of now this is frozen then 🥶 🤷

  10. kurok commented on Sep 1, 2026

    @kurok

    Worth separating two things that often get conflated on this topic, since it might save someone a detour.

    Vault's jwt auth method covers two role types. oidc is the interactive one — the browser redirect, auth code exchange, callback listener. jwt is the non-interactive one: you present an already-signed token and get a Vault token back. This issue is about the first.

    If anyone lands here actually wanting the second — CI jobs, GitHub Actions OIDC, Kubernetes or SPIFFE workloads — it's a much smaller thing than the OIDC flow. It's one POST auth/<mount>/login with { jwt, role }, where role is optional and falls back to the mount's default_role. We added it to node-vault-client recently if it's useful as a reference implementation, though to be clear it doesn't help with the ask in this issue: interactive oidc is deliberately out of scope there too, for the same reason it's awkward here — a headless service doing background token renewal has no browser to redirect to.

    One gotcha that cost us time, and which applies whichever library you use: Vault requires the role to bind the audience your token carries, and it doesn't catch the omission when you create the role. As long as the role has some other bound constraint it's accepted, and you only find out at login:

    audience claim found in JWT but no audiences bound to the role
    

    So bound_audiences has to match the aud your IdP actually mints. With GitHub Actions that means core.getIDToken('vault') and bound_audiences=vault have to agree — calling getIDToken() with no argument uses GitHub's default audience and won't match.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions