Die ProcessCube Authority unterstützt Google als Identitätsprovider, um dort verwaltete Benutzer verwenden zu können.
Erstellen eines OAuth2.0 Clients
Im Google Developer Console können die OAuth 2.0 Clients für die Authority angelegt werden.
Google Developer Console
- Navigiere zu https://console.cloud.google.com/apis/credentials
- Wähle
Anmeldedaten erstellenund anschließendOAuth-Client-ID.
Die angegebene Redirect URI gilt als schwer fälschbares Merkmal, auf das sich Identitätsprovider und Authority einigen.
Wähle hier das Schema https://[Authority-Adresse]/acr/google_[Provider ID]/callback.
Google erlaubt außer http://localhost keine lokalen Redirect URIs. Damit die Authority bei Anfragen automatisch
wieder auf die ursprüngliche Adresse http://authority weiterleitet, muss das Entwicklungsfeature fixWrongHostnames
in der Konfiguration aktiviert sein.
Konfiguration der Authority
Um die Google Erweiterung zu verwenden, müssen die zuverwendenden OAuth 2.0 Clients für Google konfiguriert werden.
Konfiguration eines Google Providers für den Betrieb auf localhost:
// [...]
"extensions": {
"configs": {
"provider_chooser": {},
"google": {
"providers": [
{
"id": "main_google",
"client_id": "[redacted]",
"redirect_uris_origins": [
"http://localhost:11560/acr/google_main_google/callback"
]
}
]
}
}
}
// [...]Konfiguration von Service Accounts
- Service-Account für die Gruppenanfrage muss die Scopes “https://www.googleapis.com/auth/admin.directory.group.readonly ” und “https://www.googleapis.com/auth/admin.directory.group.member.readonly ” haben und die Admin-SDK-API muss aktiviert sein.
- Für den Service-Account muss eine Schlüsseldatei heruntergeladen und lokal hinterlegt werden. Der Pfad zu diser Schlüsseldatei muss der Authority als Environment-Variable
GOOGLE_KEY_PATHmitgegeben werden. - Außerdem braucht die Authority als Environment-Variable
GOOGLE_ADMIN_EMAILeine Email-Adresse, welche Admin-Rechte für diesen Service-Account hat - Mit dieser Konfiguration kann die Authority jetzt Gruppen für Nutzer abrufen, welche sich im Projekt des Service-Accounts einloggen und zum Beispiel für Custom Claims benutzen