-
Notifications
You must be signed in to change notification settings - Fork 66
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
Investigate using CILogon instead of Auth0 #967
Comments
Wondering if is there any place to explain CILogon who we are and that fact we are going to use JUST the dynamic subscription and ask for a cheaper price? |
Another question... is the CILogon bias towards academia maybe some limiting factor for interaction with future communities? |
Maybe we could follow-up with them via the freshdesk ticket that we have open? They seemed pretty open to questions. Though, I don't know a lot about their business model (and business in general as a matter of fact) so I'm not sure what is and is not possible from this point of view. Wondering if @choldgraf has time to help out with this?
I don't think so, most of 2i2c hubs are too, right? |
That sounds good @GeorgianaElena - I am happy to try and connect with them. I'll respond to their email and maybe we can set up a meeting? Would you (@GeorgianaElena) be able to join? Do you think others on the team should join? |
Update: we're planning to meetI sent them an email asking if they could meet and discuss potential "trial periods" for using their API, and mentioned that we like the idea of working with an organization that is so mission-aligned. They were quite receptive, and we're going to set up a time to meet when I'm back from vacation next week! If anybody would like to join this meeting, please let me know and I'm happy to include you (maybe @GeorgianaElena since she is our resident CILogon expert? :-) ) |
Update from meetingI had a meeting with Jim from CILogon today, here are some notes from the meeting! There were three main things that we discussed, each below: Token to try CILogon
There were also a few Jupyter-specific projects they were interested in working on, and wanted to know if we'd be interested in collaborating etc: Token management inside of JupyterHub
cc @yuvipanda - I feel like we have discussed this one before as well right? TrustedCI and Jupyter security
Next steps
|
UpdateI spoke with @GeorgianaElena about this recently, and we decided that it'd be a good use of her time to investigate this deeper integration with CILogon as an extension of #65. Since she has the CILogon context in mind already, we should avoid the context penalty that would come with trying this later on. @GeorgianaElena could you describe a rough plan of what you're going to try doing? I think we should all align on the major questions that we need to answer in order to make a decision about whether to use their API key. |
Overview of current state of thingsThe current 2i2c Auth0 client management happens in https://github.com/2i2c-org/infrastructure/blob/master/deployer/auth.py, which is based on auth0 python integration lib which is a wrapper of their REST api. For CILogon on the other hand, we have a bunch of bash scripts that exemplify how to use the REST api. Technical planI was thinking we could:
Switching decision questionsAfter we have implemented the technical part above, this would mean that we could completely change our auth infra to use CILogon instead of Auth0. Why should we change it, boxes to check:
|
2i2c team meeting notes:
|
#1089 is a great step forward here. I think we can aim to move off auth0 exclusively towards CILogon. It also will allow us to remove some of the dynamic code generation we do for auth0 in our deployer. |
Update: nearly doneWe discussed this in the team meeting today, here are major takeaways:
|
We are supposedly in a "trial", right? When does that trial end? That might affect the timing for those changes... |
My 2 cents: trial it for roughly a month (we can focus on other development projects during the trial) and try to get up to 3 hubs using the authenticator. So maybe we set a checkpoint for May 15th with a goal of deploying this in at least 2 more hubs. At the checkpoint we can discuss how this has gone and whether to plan for a bigger switch? |
Sorry, I was not clear enough... when I say trial, I am asking about the CILogin trial subscription we currently have for testing the new stuff... the end day for that trial subscription will affect the timing (and be discussed ;-) you are suggesting above. |
Ah - my understanding is that it is semi-indefinitely, with an informal understanding that we will begin paying them when we believe it is sustainable for us and fair for them. I think there is a lot of trust and assumptions of "good faith" here, so we have flexibility, but should be thoughtful about not abusing that trust. |
OK, thanks for the additional context!! Super useful. |
I believe we should close this issue since it's gone pretty stale. Please feel free to reopen if you think we should still use it for tracking. |
As part of #315, we decided to Investigate a deeper integration with CILogon - to replace our current Auth0 setup.
Current setup:
CILogon is configured as an Auth0 social connection as described here and then registered as a CILogon client. This means, that for any 2i2c hubs that enable login through CILogon (like the 2i2c demo hub) the authentication flow is:
Hub login page ➡️ Auth0 Login screen presenting the CILogon option ➡️ CILogon IDP selection page ➡️ IDP login page ➡️ hub access
Context
Jim from the CILogon project suggested that it would be possible to use a paid CILogin API to automate client creation. We would require a 12.5k USD/year subscription for access to this API. This also comes with other features described here https://www.cilogon.org/subscribe. Docs about the API here https://cilogon.github.io/oa4mp/server/manuals/dynamic-client-registration.html.
Would using CILogon instead of Auth0 simplify our login process + make it more flexible?
username_pattern
to provide authentication by a given domain.HOWEVER
auth.py
- that uses the Auth0 API to using the CILogon REST API.Does CILogon have all of the same features that Auth0 does? What are the differences?
If we buy the subscription and gain access to the REST API that enables us to create dynamic client registrations, then that will enable us to replace our current Auth0 setup ➡️ from the perspective of 2i2c needs, yes, CILogon has the same features of Auth0
The differences:
CILogon costs ~$13,000 a year, is that worth the value we'd get?
Auth0 costs us 23$/month -> 276/yr (the essential plan). There is also a Business plan of 240$/m -> 2880/yr and an Enterprise one but the price is available on request only.
The Auth0 Enterprise subscription seems to be offering what the essential CILogon subscription does (Auth0 Enterprise (SAML, Open ID Connect, Google Workspace, Microsoft Azure AD, ADFS, Active Directory / LDAP, Ping Federate)), which makes me thing that might be similar in price with the CILogon one. So the value we'd get for this amount of money might be similar for both Auth0 and CILogon.
However, since we don't need all of these features right now, my impression is that the switch to CILogon paid subscription might not yet make sense.
To Do
Auth0
. -> Simplify our authentication workflow by migrating all communities to CILogon authenticator and away from Auth0 #1304The text was updated successfully, but these errors were encountered: