- Anwendungen auf der Google Cloud Platform und/oder im Azure-Portal registrieren.
- Anmeldeinformationen für diese Anwendungen generieren (Client-ID und Client-Secret).
- Die generierten Anmeldeinformationen an Consul übergeben.
Registrierung der Anwendung in Google
Erstellen eines Projekts in der Google Cloud Platform
- Navigieren Sie zur Seite „Neues Projekt“ in der Google Cloud Platform.
- Geben Sie einen Namen für Ihr Projekt ein und klicken Sie auf Create.

- Warten Sie auf eine Benachrichtigung, dass Ihr Projekt erstellt wurde.

Einrichten der Anwendung
- Navigieren Sie zur Google Cloud Console und wählen Sie das entsprechende Projekt aus.

- Wählen Sie im Menü auf der linken Seite des Bildschirms APIs & Services > OAuth consent screen aus.

- Wählen Sie den Benutzertyp External und klicken Sie auf Create.
- Geben Sie einen Namen für Ihre Anwendung an. Wählen Sie im Dropdown-Listenfeld User support email Ihre Gmail-Adresse aus.

- Geben Sie die E-Mail-Adresse des Entwicklers im Abschnitt Developer contact information unten auf der Seite an und klicken Sie auf Save and continue.

- Klicken Sie auf Add or remove scopes. Daraufhin wird rechts das Dialogfeld Update selected scopes geöffnet.
- Kopieren Sie den folgenden Text in das Feld Manually add scopes im unteren Teil des Dialogfelds und klicken Sie auf Add to table:
Sie können die Scopes auch manuell auswählen. Die folgenden Scopes müssen ausgewählt werden:
openidhttps://mail.google.com/../auth2/userinfo.email../auth2/userinfo.profile
- Klicken Sie auf Update. Daraufhin wird der Dialog Update selected scopes geschlossen, und die ausgewählten Scopes werden angezeigt.

- Klicken Sie unten auf der Seite auf Save and continue.
- Klicken Sie auf Save and continue, um die Einstellungen auf der Seite Test users zu überspringen und zur Seite Summary zu navigieren.
Erstellen von Zugangsdaten
- Wählen Sie Credentials im Menü auf der linken Seite des Bildschirms.
- Klicken Sie auf + Create credentials und wählen Sie OAuth client ID.

- Wählen Sie als Typ Web application.

- Klicken Sie im Abschnitt Authorized redirect URIs auf + Add URI.

- Geben Sie in dem Feld, das angezeigt wird, die Redirect-URI an:

- Klicken Sie auf Create.

Veröffentlichung und Verifizierung

https://mail.google.com/ ermöglicht der Anwendung den Zugriff auf vertrauliche Benutzerdaten, weshalb eine Meldung angezeigt wird, dass die Anwendung verifiziert werden muss.
Um die Anwendung zu verifizieren, müssen Sie Folgendes bereitstellen:
- Einen offiziellen Link zur Datenschutzrichtlinie der Anwendung
- Ein YouTube-Video, das den angegebenen Zweck der Nutzung von Google-Benutzerdaten durch die Anwendung demonstriert
- Ein an Google gerichtetes Schreiben, das beschreibt, warum Sie Zugriff auf vertrauliche Benutzerdaten benötigen
- Eine vollständige Liste aller Ihrer Domains, die in der Google Search Console verifiziert wurden

Bevor Ihre Anwendung verifiziert ist, kann sie nur von 100 Benutzern verwendet werden. Der Benutzerzähler befindet sich im unteren Teil des Abschnitts OAuth consent screen und kann während der gesamten Projektlaufzeit nicht zurückgesetzt werden.

Registrieren der Anwendung in Microsoft Azure
Registrieren der Anwendung
- Navigieren Sie zur Seite App registrations.
- Klicken Sie auf New registration.
- Geben Sie einen Namen für Ihre Anwendung ein und wählen Sie die unterstützten Kontotypen aus.

Wenn für die Anwendung der Typ Multitenant ausgewählt wird, steht sie Benutzern in jedem Azure AD-Mandanten zur Verfügung. Solche Anwendungen müssen verifiziert werden; dies ist jedoch nur für Teilnehmer des Microsoft Partner Network verfügbar. Wenn Sie kein Teilnehmer sind, wählen Sie Single tenant, wodurch Ihre App nur Benutzern in Ihrem eigenen Azure AD-Mandanten zur Verfügung steht.
- Wählen Sie im Abschnitt Redirect URI die Plattform Web aus und geben Sie die Redirect-URI ein:

- Klicken Sie auf Register.
Einrichten von Anwendungsberechtigungen
- Navigieren Sie zum Tab API permissions.

- Klicken Sie auf Add permission.
- Wählen Sie im daraufhin geöffneten Dialog den Bereich Microsoft Graph aus.

- Wählen Sie Delegated permissions.

- Fügen Sie die folgenden Berechtigungen hinzu:
emailIMAP.AccessAsUser.Alloffline_accessopenidprofile
- Klicken Sie auf Add permissions. Dadurch wird der Dialog geschlossen und die ausgewählten Berechtigungen werden angezeigt.
Erstellen von Clientgeheimnissen
- Navigieren Sie zur Registerkarte Authentication.

- Aktivieren Sie im Abschnitt Implicit grant and hybrid flows die Option ID tokens (used for implicit and hybrid flows).

- Klicken Sie oben auf der Seite auf Save.
- Navigieren Sie zur Registerkarte Certificates & secrets und klicken Sie auf New client secret.

- Geben Sie im sich öffnenden Dialogfeld einen Namen für das Clientgeheimnis und ein Ablaufdatum an.
Das maximale Ablaufdatum beträgt 24 Monate.
- Klicken Sie auf Add. Dadurch wird das Dialogfeld geschlossen, und Informationen zu Ihrem neuen Clientgeheimnis werden angezeigt.


Überprüfen der Anwendung
- Wechseln Sie zur Registerkarte Branding & properties.

- Vergewissern Sie sich, dass die Domäne im Feld Publisher domain angegeben ist. Richten Sie bei Bedarf Ihre Domäne ein, indem Sie auf Configure a domain klicken.

Das neben dem Domänennamen angezeigte Warnsymbol bedeutet, dass eine Anwendung mit der angegebenen Domäne nicht verifiziert werden kann. Klicken Sie auf Update domain, um eine andere gültige Domäne anzugeben, die dem Azure Active Directory-Mandanten zugeordnet ist. Alternativ können Sie eine neue Domäne verifizieren.
- Geben Sie im Abschnitt Publisher verification Ihre MPN-ID an und klicken Sie auf Verify and save.
Wenn Sie nicht über die erforderlichen Berechtigungen zum Hinzufügen einer MPN-ID verfügen, stellen Sie sicher, dass alle Anforderungen für die Publisher verification erfüllt sind.
Übergeben von Anmeldedaten an Consul
Bevor Sie mit der Einrichtung beginnen, überprüfen Sie, ob das Befehlszeilenprogramm kubectl installiert ist und ob Sie mit dem Kubernetes-Cluster verbunden sind.
- Verschaffen Sie sich Zugriff auf die Consul-Weboberfläche, indem Sie den folgenden Befehl ausführen:
http://localhost:8500/ui/dc1/kv/secret/.
- Wählen Sie auf der Registerkarte Key/Value, die geöffnet wird, den passenden Vantage-Bereitstellungsbereich aus. Wählen Sie anschließend das Projekt vantage aus.

- Wählen Sie den Dienst tokenmanagement aus.

- Navigieren Sie zum Abschnitt oAuthClientConfiguration.

- Wählen Sie den Dienst aus, für den Sie die Benutzerdaten angeben möchten (google oder microsoft).

- Wählen Sie den Schlüssel clientId aus.
- Kopieren Sie den zuvor gespeicherten Wert für die Client-ID, fügen Sie ihn in das Eingabefeld ein und klicken Sie auf Save.

- Wiederholen Sie die Schritte 6 und 7 für den Schlüssel clientSecret.
- Starten Sie den Dienst tokenmanagement neu, indem Sie den folgenden Befehl ausführen:
Client Secret aktualisieren
Aktualisieren des Client Secrets in Google
- Navigieren Sie zur Google Cloud Console und wählen Sie das entsprechende Projekt aus.
- Wählen Sie im Menü auf der linken Seite APIs & Services > Credentials.
- Wählen Sie im Abschnitt OAuth 2.0 Client IDs die Kennung aus, die zur Authentifizierung bei der Verbindung mit dem IMAP-Server verwendet wird.
- Klicken Sie auf Reset secret.

- Klicken Sie im angezeigten Pop-up-Dialogfeld auf Reset. Dadurch wird der Wert des Client Secrets aktualisiert und der bisherige Wert widerrufen.
- Laden Sie die JSON-Datei mit den Anmeldedaten herunter. Alternativ können Sie den Wert des Client Secrets von der rechten Seite des Bildschirms kopieren.

Aktualisieren des Clientgeheimnisses in Microsoft Azure
- Wechseln Sie zur Seite App registrations und wählen Sie die Anwendung aus, die für die Authentifizierung über den IMAP-Server verwendet wird.

- Wechseln Sie zur Registerkarte Certificates & secrets und klicken Sie auf New client secret.
- Geben Sie im daraufhin geöffneten Dialogfeld einen Namen für das Clientgeheimnis und dessen Ablaufdatum an.
- Klicken Sie auf Add. Dadurch wird der Dialog geschlossen und Informationen über das neue Clientgeheimnis werden angezeigt. Es ist wichtig, dass Sie den Value kopieren und speichern, da Sie nach dem Schließen der Seite nicht mehr darauf zugreifen können.
- Wenn das aktuelle Clientgeheimnis noch nicht abgelaufen ist, können Sie es löschen, sodass nur das neue Clientgeheimnis zur Identifizierung des Clients verwendet werden kann.
