Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routes and endpoints for JWT consumption #10970

Closed
woodruffw opened this issue Mar 17, 2022 · 9 comments · Fixed by #11272
Closed

Routes and endpoints for JWT consumption #10970

woodruffw opened this issue Mar 17, 2022 · 9 comments · Fixed by #11272
Assignees

Comments

@woodruffw
Copy link
Member

woodruffw commented Mar 17, 2022

Once we allow projects to configure OIDC providers (termed "publishers" in user-facing views), we need to allow OIDC-minted JWTs to be exchanged for API tokens.

As discussed with @di, we should ensure that these can be configured to run on a separate subdomain during deployment, to simplify caching logic.

@woodruffw
Copy link
Member Author

Needs #10792.

@woodruffw
Copy link
Member Author

As a reminder to myself: all of the routing/endpoint here should have accompanying metrics, per @ewdurbin's feedback: #10753 (review)

@woodruffw
Copy link
Member Author

Needs #11218.

@merwok
Copy link
Contributor

merwok commented Aug 8, 2022

Is there a ticket or roadmap somewhere that explains this OIDC federation feature?

@woodruffw
Copy link
Member Author

The project board is here: https://github.com/pypi/warehouse/projects/4

Some initial design and threat model is in these issues: #10644 and #10619

@merwok
Copy link
Contributor

merwok commented Aug 8, 2022

I’ve seen the board, but am more looking for a non-technical document that explains the big goal here.
I follow distutils-sig and other places but was not aware of a plan for github integration until I saw one of these PRs by chance.

@di
Copy link
Member

di commented Aug 9, 2022

@merwok
Copy link
Contributor

merwok commented Aug 9, 2022

Oh I see automatic tokens from github actions to pypi upload?

@woodruffw
Copy link
Member Author

Oh I see automatic tokens from github actions to pypi upload?

Yep! The idea is that you'll be able to trust specific GitHub Actions to authenticate on your behalf, which in turn will remove the need to manually provision separate API tokens.

Those trusted GitHub Actions will use GitHub's OIDC provider, which produces ephemeral JWTs that are bound to the current workflow. Those are then exchanged for ephemeral API tokens, which are scoped down to the project(s) that trust that workflow.

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

Successfully merging a pull request may close this issue.

3 participants