-
Notifications
You must be signed in to change notification settings - Fork 170
Description
Checklist
- I agree to the terms within the Auth0 Code of Conduct.
Describe the problem you'd like to have solved
We are looking to incorporate self-service SSO into our application which means we will have a mix of managed connections (e.g. social connections, our own employee connection, etc.) and self-service connections (e.g. those created via the self-service SSO feature or manually created on behalf of a customer).
We won't necessarily know the names of the self-service connections being created (nor is there a naming convention or attribute of the data we can rely on to differentiate between the two).
Describe the ideal solution
Ideally, we would add "connections" to AUTH0_EXCLUDED, indicating that connections are not managed using a0deploy by default. We would then specify another configuration, e.g. "AUTH0_MANAGED_CONNECTIONS":{"github", "acme-inc"} to indicate that some connections are managed.
Alternatives and current workarounds
Currently we make sure we add the "self-service" connection names to AUTH0_EXCLUDED_CONNECTIONS in Git ahead of time (we do not have "connections" listed in AUTH0_EXCLUDED), however this requires extra synchronization and has proven to be error prone.
An alternative might be to implement something like AUTH0_USE_GITIGNORE=true. Because we use a directory layout and export into a Git repository, our .gitignore file also contains the relevant exclusion rules, e.g.:
/connections/*
!/connections/github.json
!/connections/acme-inc.json
Additional context
We use AUTH0_ALLOW_DELETE=true to ensure that the tenant state in Git matches what is running.