|
4 | 4 |
|
5 | 5 | This service was inspired by Auth0, through their `auth0-cas-server` service |
6 | 6 | formerly hosted at `github.com/auth0-samples/auth0-cas-server` (link now dead). |
7 | | -It is a simple authentication redirector which wraps an OpenID Connect |
8 | | -authentication flow to expose it as server implementing the Central |
9 | | -Authentication Service (CAS) SSO protocol. The service leverages configuration |
10 | | -stored within Auth0 client metadata, which it reads using a privileged |
11 | | -connection to the Auth0 API, in order to emulate multiple different clients |
12 | | -dynamically per login session. |
| 7 | +Like that service, it uses HTTP redirects to wrap an OpenID Connect |
| 8 | +authentication flow with the Central Authentication Service (CAS) SSO protocol, |
| 9 | +emulating multiple CAS clients from a single instance of the service. It does |
| 10 | +this by using a privileged connection to the Auth0 Management API to find |
| 11 | +clients tagged with CAS metadata, and dynamically adopting their client |
| 12 | +credentials. |
13 | 13 |
|
14 | | -Notable differeces with this implementation: |
| 14 | +Notable differences include: |
15 | 15 |
|
16 | 16 | - Rewritten in Go, including OpenTelemetry instrumentation and multi-arch build |
17 | 17 | outputs including SPDX SBOMs. |
18 | | -- Supports several additional CAS protocol endpoints implementing multiple CAS |
19 | | - versions. |
| 18 | +- Additional HTTP endpoints to implement additional CAS protocol versions. |
20 | 19 | - Implements CAS single-logout. |
21 | 20 | - Implements CAS "gateway mode" to test for authentication without prompting |
22 | 21 | the user. |
@@ -55,7 +54,19 @@ Please see `env-example` for a list of required and optional environment |
55 | 54 | variables that can be used to configure the server. For local development, you |
56 | 55 | can copy this file to `.env` and modify it to suit your needs. |
57 | 56 |
|
58 | | -## Auth0 client configuration |
| 57 | +## Auth0 API client configuration |
| 58 | + |
| 59 | +This service requires a non-interactive (machine-to-machine) client that |
| 60 | +supports the `client_credentials` grant type and is authorized for the |
| 61 | +following scopes on the Auth0 Management API: |
| 62 | + |
| 63 | +- `read:clients` |
| 64 | +- `read:client_keys` |
| 65 | + |
| 66 | +The client ID and client secret for this API client must be passed as |
| 67 | +environmental variables to the service. |
| 68 | + |
| 69 | +## Auth0 CAS client configuration |
59 | 70 |
|
60 | 71 | To create a CAS-enabled Auth0 application, specify the follow settings: |
61 | 72 |
|
|
0 commit comments