Supporting Auth0.com and/or OpenID Connect?

While the built in Users feature is a nice option, its unsuitable for a number of my projects.

Since there is support for using one external authentication providers is it possible to expand this so that we can either configure our own generic OpenID Connect authentication sources, or if its easier just adding Auth0.com as an external authentication source like the existing Google one.

I don’t know how Anvil has structured the code of the users service, but having looked at several python user authentication libraries, and also used two of them with Auth0, its usually not too much work to adapt from either the common OpenID Connect which Google’s login is a specific configuration of, to either generic OpenID Connect, or Auth0. I maintain a Django Auth0 library so I was/am prepared to try and write the code myself. however I’ve been unable to find a way to see the source code of the user service (I thought it might be in the repo, but Git Clone of my project’s history is not working for me, even added an ssh key, still nothing) to see if I can just write the code myself and post it back for anyone else to use. If the source of the user service isn’t exposed, I suppose I’ll just have to leave this on the feature request pile and wait.

Edit:
Now that we have the excellent secrets service, Anvil is looking more and more suitable for my work. However since support for either of these features (Auth0 or OpenID Connect support) is a complete blocker on using Anvil in production where I work, I have to ask this. I know you’re a small team but is there a specific way to reach out and talk about feature prioritisation or customisations needed for someone to come on board as a customer?

1 Like

So its been 9 months, lots of interesting improvements to login related stuff. And a free plan that makes me want to use Anvil more than ever, but I’m still hanging out here hoping for OpenID Connect support. (I cant seem to edit the post to remove Auth0 from the title) I don’t even care if you don’t support Auth0, that would be a sensible enough decision, but please support OpenID Connect. We should at least have the option to use our own federated authentication systems, Auth0, Keycloak, etc… instead of having to either: force our users to make new accounts; force our users to use a google account; or forcing each developer to “fake it” by building a solution that fits their case.

This is a request I can get behind. While I don’t need it for the current project I"m working on, I did a lot of work with OpenID Connect for a client last summer, and could see needing to do that again in Anvil.

I apologise that this thread slipped through the net!

Here’s a demo app that authenticates with Auth0:

Feel free to clone this and integrate it into your app. It should be simple to modify it to work with a different service. (Read the README module for instructions on how to configure Auth0 to recognise the app.)

https://anvil.works/ide#clone:66LKEE352KMYRSFK=CHSYOOSMI5UNCBXTKIWXU4Q6

I know you’re a small team but is there a specific way to reach out and talk about feature prioritisation or customisations needed for someone to come on board as a customer?

Yes there is! We are happy to discuss sponsoring a particular feature - contact us on support@anvil.works to discuss.

We also prioritise features requested by users on support contracts. support@anvil.works is also the address to use to discuss support contracts.

3 Likes

Thread necromancy time! With the open sourcing of the app server I figured I’d dig in to see if I could make this a nice clean integration like the google login is. But I cant because all the login functionality code is not in the open source part. Which is not a complaint mind you, I’m stoked its open source now, I’m just disappointed because I wanted to fix this properly. So consider this a bump/+1 on the feature request for a proper, integrated, “first class” OpenID Connect based user authentication option.

2 Likes