Auth0 is a SaaS identity provider for application authentication, authorization, and identity integration. It can provide a product-like access experience for platform infrastructure and custom APIs while using GitHub as the authoritative source for user and team information. section 7.3.1
A GitHub-backed flow authenticates the user, retrieves organization team membership, and returns a verifiable JWT whose claims can govern access to team resources. A platform CLI handles the device-oriented interaction, while Auth0 provides the OAuth2 flow and token issuance. section 7.3.1 section 7.3.2
Configure a CLI identity provider
Create an Auth0 tenant and native application for a platform CLI, configure a GitHub OAuth application, and automate the setup through the Auth0 Management API. The resulting CLI can authenticate users and obtain JWTs containing their GitHub teams. section 7.3.2
Figure 7.8 For Epetech, we would like our IDP service to have built-in or easily configurable means of integrating with GitHub, requiring authentication through whatever means we have set up in GitHub. As a result of (1) successful authentication, we want the IDP to (2) get the list of all teams the user is a member of in our GitHub organization. Finally, we want to (3) return to the user a secure means of accessing the platform infrastructure or custom API resources.
Trace the intended GitHub-to-Auth0 sequence: authenticate, retrieve organization teams, and return secure access to platform infrastructure or custom APIs. section 7.3.1
