Closed Bug 1437321 Opened 7 years ago Closed 6 years ago

Create a JS lib to simplify using Auth0 SSO with taskcluster-client-web

Categories

(Taskcluster :: Services, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: emorley, Assigned: Eli)

Details

Both taskcluster-tools and Treeherder implement SSO/taskcluster credential management using auth0-js along with taskcluster-client-web. There is a fair amount of overlap between the two implementations - so I was thinking it might make sense to create a `taskcluster-login-client` (or other suitable name) library that consolidates the controller logic and even perhaps the react components (if only for the callback views). Spotting the commonalities worth extracting will be much easier now that Treeherder has switched over too. Such a library would make things like bug 1437116 easier - since it would be a case of just updating to a newer library version to pick up the new scope names. # Treeherder implementation: Controllers: https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/js/auth/AuthService.js https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/js/auth/auth-utils.js https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/js/services/taskcluster.js Login menu: https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/js/components/auth.js Login/callback page: https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/entry-login.jsx https://github.com/mozilla/treeherder/blob/a74003f41b38d8d5198db7dfab056fbe19133d75/ui/js/auth/LoginCallback.jsx # taskcluster-tools implementation: Controllers: https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/AuthController.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/auth0.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/UserSession.js Login menu: https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/components/CredentialsMenu/index.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/Auth0LoginMenuItem.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/DevelopmentLoginMenuItem.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/auth/ManualLoginMenuItem.js Login/callback pages: https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/views/Auth0Login/index.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/views/DevelopmentLogin/index.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/views/ManualLogin/index.js https://github.com/taskcluster/taskcluster-tools/blob/fe19156c4987d4db2e16b052b3b5889e4138f4eb/src/components/ManualModal/index.js
Assignee: nobody → eperelman
I'm already doing some work on this front, so I'll see what I can do to add these as well.
I am going to close this as wontfix since the Taskcluster implementation is moving towards a GraphQL layer with no consumption of taskcluster-client-web, removing the remaining commonalities of the login interaction.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Is taskcluster-client-web EOL then?
No, it's still in use by taskcluster-tools, and will go through a couple changes to support dynamic base URLs. Once it is done being used in tools, we will maintain it still, but it will only be used in treeherder I think.
Component: Client Libraries → Services
You need to log in before you can comment on or make changes to this bug.