-
Notifications
You must be signed in to change notification settings - Fork 107
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
OAuth provider: Auth0 #506
Comments
I would suggest https://github.com/dexidp/dex |
@lukasmrtvy Correct me if this saved-you-a-click summary is inaccurate. It looks like Dex could accelerate zrok compatibility with many OIDC providers, which is in the same spirit as the idea of adding an Auth0 implementation. Supporting Dex would mean deploying zrok and Dex in tandem, Dex would replace the zrok frontend's OAuth endpoint that currently listens on a discrete port and is typically reached through a separate domain name like Instead of an OIDC implementation for each provider ( |
|
would be great to see go-oidc used here (similar headscale is doing it) - so I could add my keycloak oidc.... |
Adding here as well, would also love to see a generic OIDC provider, so that I can use my organizations SSO capabilities. |
I think I found a work around for anyone who is interested. We are using ADFS in my corporation, which supports oauth/oidc. I have this working for zrok links! I did have to make a small modification, and build the zrok binary manually. But I added caddy-security as a module in endpoints/caddyListener.go, endpoints/proxy/caddyRequestsMiddleware.go endpoints/proxy/caddyWebBackend.go. I added: And then followed the build instructions, which worked fine. I then used the caddy backend:
|
Very nice! That's for sure a change we can make for the next zrok release. Any chance you'd want to do a write-up on it? Would love to put something in the docs for it. |
Would love to! But it might not be until next week until I can write something up. Though it's really not that bad, just adding in the caddy module to the backend, and then writing a caddyfile to do what you want. Also I am not sure if the module needs to be added to all of these: |
No rush! I don't think it particularly matters where the import is placed, as long as it's imported with I'll go ahead and get this integrated for But if you do get a minute to write this up, especially as a page for the docs, that would be amazing. Thank you for sharing it at all. Cool stuff. |
There was an issue open to explore this concept, but we haven't gotten around to it yet... See: #402 We can get the import merged for the next release, write something up for this, and basically close that feature issue. |
I would expect that this should work just fine with the import only in |
Add caddy-security Plugin to Caddy Backend (#506)
I went ahead and confirmed the
|
Yep! I will definitely give it a whirl. Also, I have a new implementation. The above works well for one offs, or if you have a reserved zrok name. Since OIDC needs to be pointed to a specific endpoint, but it can accept wildcards as well. So for a single use case this works really well! However, for an enterprise environment, you dont want to give out a single OIDC/OAUTH ID and secret to everyone. So I reworked things. I know have a caddy-security proxy container in front of my ZROK frontend. I used some caddy proxy magic to listen on two domains: And then on the client, I check for an auth header, if it doesnt exist, I can force someone through the *.sso.zrok.company.com side, enforcing SSO. I will try to post this later as well :D |
Nice! It would be awesome to write some of this stuff up as a guide in the docs. Appreciate you working on this stuff! |
Just dropped https://github.com/openziti/zrok/releases/tag/v0.4.35 |
Yeah, I am going through my SSO when using this. However I am getting a bunch of redirects, and eventually a load error, but I believe ZROK is working fine and as intended. I think this is due to my new global SSO change. So I believe your zrok build is working as intended! |
Ok! Thank you for checking... this means the |
Currently supported OIDC providers are Google, GitHub
Enabling Auth0 would allow a single OAuth provider configuration to support all the providers supported by Auth0 transitively
Personally, I'd prefer to have Auth0 before Okta because Auth0 allows the use of their own third-party client id/client secret, e.g. Google OAuth account, which is convenient for development and tiny scale testing.
With Okta, it's necessary to set up my own Google client id/secret, which is limited to allowed email addresses, so it's considerably more work for the dev to get things running.
The text was updated successfully, but these errors were encountered: