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

feature request: JWT Authentication #1850

Closed
skunkwerk opened this issue Dec 25, 2017 · 14 comments
Closed

feature request: JWT Authentication #1850

skunkwerk opened this issue Dec 25, 2017 · 14 comments

Comments

@skunkwerk
Copy link

Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/.):
No

What keywords did you search in NGINX Ingress controller issues before filing this one? (If you have found any duplicates, you should instead reply there.):
JWT


Is this a BUG REPORT or FEATURE REQUEST? (choose one):
FEATURE REQUEST

The ingress via Nginx should be able to authenticate JWT tokens passed in the HTTP header via a "Authorization: Bearer" format.

@aledbf
Copy link
Member

aledbf commented Dec 25, 2017

Closing. Please check this comment #1676 (comment)

@aledbf aledbf closed this as completed Dec 25, 2017
@tomxor
Copy link
Contributor

tomxor commented Apr 13, 2018

@aledbf one of the advantages (in the case of JWT) is that you get to save an additional hop for every request which can end up being a bottleneck, so going to an external service to do that for you defeats that purpose. we've extended this project by adding a simple JWT script + some custom annotations to control the auth policy per ingress. not sure about ldap or others, but this was a relatively small change. given the popularity of JWT and the current lack of a working plugin system, is this decision final? if not I'd be happy to draft a PR.

@aledbf
Copy link
Member

aledbf commented Apr 13, 2018

given the popularity of JWT and the current lack of a working plugin system, is this decision final?

No :)

if not I'd be happy to draft a PR.

Please wait, we are going to revamp the auth support in the controller.

@tomxor
Copy link
Contributor

tomxor commented Apr 13, 2018

Please wait, we are going to revamp the auth support in the controller.

any public place this is being tracked? :)

@aledbf
Copy link
Member

aledbf commented Apr 13, 2018

any public place this is being tracked? :)

Not yet, I will post a comment here when available

@derekperkins
Copy link
Contributor

derekperkins commented Sep 20, 2018

@aledbf What's the status here? JWT support just landed in Envoy envoyproxy/envoy#2514

@marcellisdon
Copy link

any update with regards to this feature request? I don't want to get stuck with NGINX plus for this...

@itaysk
Copy link
Contributor

itaysk commented Mar 10, 2019

@aledbf - can you please clarify: "we are going to revamp the auth support in the controller" ?
Were you referring to auth-url (and this issue should be closed) or is there something else?

@aledbf
Copy link
Member

aledbf commented Mar 10, 2019

"we are going to revamp the auth support in the controller"

One of the options will be using a custom plugin (to be written) once #3807 is merged.
Right now you can use something like https://github.com/vouch/vouch-proxy#running-from-docker

@veonua
Copy link

veonua commented Apr 2, 2019

@itaysk as I needed JWT and jwt based routing, I have created simple python service that makes authentication, and returns claims in headers https://github.com/veonua/jwt_auth
auth-url should refer to this service address

@discordianfish
Copy link
Contributor

Now with #3807 merged, anyone already started working on a JWT auth plugin?

@carlpett
Copy link

I built a small JWT signature/claims validator that is usable with the external-auth annotation: https://github.com/carlpett/nginx-subrequest-auth-jwt
Not as nice as a built-in solution, but might be useful to someone else.

@VizorKit
Copy link

VizorKit commented Feb 7, 2020

any more work done on jwt plugins other than @carlpett ?

@IvanJosipovic
Copy link

IvanJosipovic commented Sep 30, 2022

I built an API that can be used with nginx.ingress.kubernetes.io/auth-url. https://github.com/IvanJosipovic/ingress-nginx-validate-jwt

If you need JWT and Cookie auth for Web Apps, you can use https://github.com/IvanJosipovic/OIDC-Guard

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

No branches or pull requests