App-Branding
Mit IBM Cloud® App ID können Sie den gesamten Registrierungsablauf Ihrer Anwendung anpassen, indem Sie eigene, an Ihr Brand-Marketing angepasste Anmeldeanzeigen verwenden. Sie können das mitgelieferte Anmelde-Widget durch Ihr eigenes ersetzen, weitere Felder hinzufügen, die Passwortstärke überprüfen und E-Mail-Adressen anhand einer Blockliste verifizieren!
Informationen zur Wiederverwendung von Anzeigen
Wenn Sie Ihre vorhandenen Benutzerschnittstellen wiederverwenden, können Sie einen konsistenten Anmeldeablauf für Ihre App erstellen. Durch die Verwendung einheitlicher Bilder, Farben und Markenkennzeichnung ergibt sich ein Wiedererkennungseffekt für Ihre Benutzer, selbst wenn sie nicht direkt mit Ihrer App interagieren.
Möchten Sie eine andere Sprache als Englisch verwenden? Sie können eine andere Sprache wählen, indem Sie die Sprachverwaltungs-APIs verwenden, um Ihre eigenen übersetzten Inhalte anzuzeigen.
Welche Informationen muss ich mit meiner Anmelde- oder Registrierungsanzeige abrufen?
Wenn Sie die Anforderung zum Übergeben Ihres Anmeldeformulars stellen, muss diese sowohl den Benutzernamen als auch das Kennwort als Parameter im Anforderungshauptteil enthalten. Ihre Anmelde-oder Anmeldeseite muss diese Informationen von Ihren Benutzern anfordern.
Kann ich einige meiner eigenen und einige Standardanzeigen verwenden?
Ja! Sie können einen Hybrid-Flow erstellen, der einige Ihrer Anzeigen und einige Standardanzeigen verwendet. Allerdings kann innerhalb eines Ablaufs immer nur eine dieser beiden Optionen benutzt werden. Sie können beispielsweise eine eigene Anmeldeanzeige und außerdem die Standardanmeldeanzeige benutzen. Wenn Sie sich für die Verwendung der Standardanmeldeanzeige entscheiden, dann müssen Sie diese Auswahl jedoch für den gesamten Anmeldeablauf (einschließlich der Verifizierung bei der Anmeldung) beibehalten.
Wie unterscheiden sich die Abläufe in technischer Hinsicht?
Der Service verwendet OAuth 2.0-Abläufe, um den Autorisierungsprozess zuzuordnen. Wenn Sie Anbieter sozialer Identitäten wie Facebook konfigurieren, wird der Fluss der Autorisierungserlaubnis verwendet, um das Login Widget aufzurufen. Wenn Sie Ihre eigenen Bildschirme verwenden, wird der Fluss "Resource Owner Password Credentials" verwendet, um Zugangs- und Identitäts-Token bereitzustellen, die Sie zum Aufrufen Ihrer Bildschirme verwenden können.
Branding der App mit dem Android-SDK
Wenn Cloud Directory aktiviert ist, können Sie mit dem Node.js-SDK angepasste Anzeigen aufrufen. Sie können die gewünschte Kombination der Anzeigen auswählen, mit denen die Benutzer interagieren sollen.
Anmelden
-
Konfigurieren Sie Ihre Cloud Directory-Einstellungen in der Konsole.
-
Fügen Sie den folgenden Code zu Ihrer Anwendung hinzu. Der Anmeldeablauf wird ausgelöst, wenn ein Benutzer in der angepassten Anzeige auf 'Anmelden' klickt. Sie erhalten Zugriffs-, Identitäts- und Aktualisierungstoken, indem Sie den Benutzernamen und das Kennwort des Benutzers angeben.
AppID.getInstance().signinWithResourceOwnerPassword(getApplicationContext(), username, password, new TokenResponseListener() { @Override public void onAuthorizationFailure (AuthorizationException exception) { //Exception occurred } @Override public void onAuthorizationSuccess (AccessToken accessToken, IdentityToken identityToken, RefreshToken refreshToken) { //User authenticated } });
Branding der App mit dem iOS-Swift-SDK
Wenn Cloud Directory aktiviert ist, können Sie mit dem iOS Swift SDK Ihre eigenen gebrandeten Bildschirme aufrufen.
Anmelden
-
Konfigurieren Sie Ihre Cloud Directory-Einstellungen in der Konsole.
-
Fügen Sie den folgenden Code in Ihre Anwendung ein. Wenn ein Benutzer versucht, sich anzumelden, wird Ihre angepasste Anzeige aufgerufen, und der Autorisierungs- und Authentifizierungsprozess beginnt mit Ihrer angepassten Anmeldeseite.
class delegate : TokenResponseDelegate { public func onAuthorizationSuccess(accessToken: AccessToken?, identityToken: IdentityToken?, response:Response?) { //User authenticated } public func onAuthorizationFailure(error: AuthorizationError) { //Exception occurred } } AppID.sharedInstance.signinWithResourceOwnerPassword(username: username, password: password, delegate: delegate())
Branding der App mit dem Node.js-SDK
Wenn Cloud Directory aktiviert ist, können Sie mit dem Node.js-SDK angepasste Anzeigen aufrufen.
Anmelden
Mithilfe von WebAppStrategy können sich Benutzer mit ihrem Benutzernamen und einem Kennwort bei Ihren Web-Apps anmelden. Nachdem sich ein Benutzer erfolgreich bei Ihrer App angemeldet hat, bleibt sein Zugriffstoken in einer HTTP-Sitzung
erhalten, solange es aktiv bleibt. Nach dem Beenden oder Ablaufen der HTTP-Sitzung wird auch das Zugriffstoken gelöscht.
-
Konfigurieren Sie Ihre Cloud Directory-Einstellungen in der Konsole.
-
Fügen Sie den folgenden Code in Ihre Anwendung ein. Wenn ein Benutzer versucht, sich anzumelden, wird Ihre angepasste Anzeige aufgerufen, und der Autorisierungs- und Authentifizierungsprozess beginnt.
app.post("/form/submit", bodyParser.urlencoded({extended: false}), passport.authenticate(WebAppStrategy.STRATEGY_NAME, { successRedirect: LANDING_PAGE_URL, failureRedirect: ROP_LOGIN_PAGE_URL, failureFlash : true // allow flash messages }));Parameter für die Anmeldung Parameter Beschreibung successRedirectDie URL, an die der Benutzer nach einer erfolgreichen Authentifizierung weitergeleitet werden soll. failureRedirectDie URL, an die der Benutzer weitergeleitet werden soll, wenn die Authentifizierung fehlschlägt. Benutzer werden an die angegebene URL umgeleitet, wenn die folgenden Authentifizierungsfehler auftreten:
- Der Benutzer gibt einen falschen Benutzernamen oder ein falsches Kennwort ein
- Der Plangrenzwert für die App ID-Instanz wurde erreicht.
failureFlashWenn truefestgelegt ist, wird eine Fehlernachricht vom Cloudverzeichnisdienst zurückgegeben. Standardmäßig ist der Wert auffalsegesetzt.Um es in Aktion zu sehen, schauen Sie sich das Beispiel der Webanwendung an.
Branding der App mit der API
Sie können eigene angepasste Anzeigen anzeigen und die Authentifizierungs- und Autorisierungsfunktionen von App ID nutzen. Mit Cloud Directory als Identitätsprovider können die Benutzer mit Ihren Apps interagieren und benötigen deutlich weniger Unterstützung durch Sie. Die Benutzer können sich anmelden, sich registrieren, das Kennwort zurücksetzen und weitere Aktionen durchführen, ohne dass sie Unterstützung anfordern müssen.
Um diese Erfahrung zu ermöglichen, stellt App ID REST APIs bereit. Sie können die REST-APIs verwenden, um einen Back-End-Server zu erstellen, der Ihre Web-Apps bedient, oder um mit einer mobilen App mit Ihren eigenen angepassten Anzeigen zu interagieren.
Die Verwaltungs-API wird mithilfe von Token gesichert, die von IBM Cloud Identity and Access Management generiert werden. Dies bedeutet, dass Kontoeigner angeben können, wer in ihrem Team über welche Zugriffsebene für die einzelnen Serviceinstanzen verfügen soll. Weitere Informationen dazu, wie IAM und App ID zusammenarbeiten, finden Sie in Servicezugriffsverwaltung.
Nach der Konfiguration Ihrer Einstellungen können Sie die folgenden Endpunkte aufrufen, um die einzelnen Anzeigen aufzurufen.
Registrieren
Mit dem Endpunkt /sign_up können Sie es Benutzern ermöglichen, sich bei Ihrer App zu registrieren. Übergeben Sie die folgenden Daten im Anforderungshauptteil:
- Ihre Tenant-ID (tenantID).
- Cloud Directory-Benutzerdaten mit den folgenden erforderlichen Attributen. Weitere Informationen finden Sie unter SCIM-Vollbenutzerdarstellung.
- Ein Kennwortattribut
password. - Ein
emails-Bereich mit mindestens einer E-Mail-Adresse und einem primären (primary) Attribut, das auftruegesetzt ist.
- Ein Kennwortattribut
Abhängig von Ihrer E-Mail-Konfiguration erhält ein Benutzer möglicherweise die Anforderung für die Verifizierung und/oder eine Begrüßungs-E-Mail, wenn er sich für Ihre App registriert. Beide Typen von E-Mails werden ausgelöst, wenn ein Benutzer sich für Ihre App registriert. Die Bestätigungs-E-Mail enthält einen Link, auf den der Benutzer klicken kann, um seine Identität zu bestätigen; es erscheint eine Anzeige mit einem Dank für die Bestätigung oder dem Hinweis, dass die Prüfung abgeschlossen ist.
Gehen Sie wie folgt vor, um eine eigene Seite anzugeben, die nach der Verifizierung angezeigt werden soll:
- Navigieren Sie zum Cloud Directory-Identitätsprovider im App ID-Dashboard.
- Klicken Sie auf die Registerkarte für die E-Mail-Prüfung.
- Geben Sie im Feld URL für angepasste Verifizierungsseite die URL Ihrer Landing-Page ein.
Wenn dieser Wert bereitgestellt ist, ruft App ID die URL zusammen mit einer contextabfrage auf. Wenn Sie den Endpunkt /sign_up/confirmation_result aufrufen und die empfangenen contextparameter übergeben,
können Sie im Ergebnis sehen, ob Ihr Benutzer das Konto verifiziert hat. Wurde das Konto verifiziert, können Sie jetzt Ihre angepasste Seite anzeigen.
Kennwort vergessen
Sie können den Endpunkt /forgot_password verwenden, um Benutzern zu ermöglichen, Ihr Kennwort wiederherzustellen, falls Sie es vergessen.
Übergeben Sie die folgenden Daten im Anforderungshauptteil:
- Ihre Tenant-ID (tenantID).
- Die E-Mail des Cloud Directory-Benutzers.
Wenn der Endpunkt aufgerufen wird, wird die E-Mail zum Zurücksetzen des Kennworts an den Benutzer gesendet. Die E-Mail enthält die Schaltfläche Zurücksetzen. Nachdem die Benutzer auf diese Schaltfläche geklickt haben, wird von App ID eine Anzeige aufgerufen, in der sie ihr Kennwort zurücksetzen können.
Sie können eine eigene Seite angeben, die nach dem Zurücksetzen des Kennworts angezeigt werden soll:
- Konfigurieren Sie Ihre Cloud Directory-Einstellungen in der Konsole. Die Option Benutzern das Kontomanagement innerhalb Ihrer App ermöglichen muss auf Ein eingestellt sein.
- Vergewissern Sie sich, dass auf der Registerkarte Kennwort zurücksetzen des Service-Dashboards die Option E-Mail für vergessenes Kennwort auf Ein gesetzt ist.
- Geben Sie die URL Ihrer Landing-Page im Feld für die URL für die angepasste Seite zum Zurücksetzen des Kennworts ein.
Wenn dieser Wert bereitgestellt ist, ruft App ID die URL zusammen mit einer contextabfrage auf. Der contextparameter wird verwendet, um das Ergebnis zu empfangen, wenn /forgot_password/confirmation_result aufgerufen wird. Falls das Ergebnis erfolgreich war, können Sie Ihre angepasste Seite anzeigen.
Fügen Sie eine zufällige Zeichenfolge zur angepassten Seite für das Zurücksetzen des Kennworts hinzu und übergeben Sie sie an Ihr Back-End, wenn die Anforderung übergeben wird. Lassen Sie Ihren Handler die Zeichenfolge überprüfen und den Endpunkt
/change_password nur dann aufrufen, wenn die Zeichenfolge gültig ist. Auf diese Weise, können Sie die Verletzlichkeit Ihres Back-End-Endpunkts zum Zurücksetzen des Kennworts verringern.
Kennwort ändern
Sie können den Endpunkt /change_password auf zweierlei Weise verwenden: Wenn ein Benutzer eine Anforderung zum Zurücksetzen übergibt oder wenn ein Benutzer sich bei Ihrer App anmeldet und sein Kennwort aktualisieren möchte.
Bevor Sie die /change_password-API aufrufen, um zuzulassen, dass ein Benutzer sein Kennwort zurücksetzt, wird dringend empfohlen zu prüfen, ob der Kontext (context) ein erfolgreiches Ergebnis erbringt. Dazu verwenden
Sie den Endpunkt /forgot_password/confirmation_result. Mit dieser Operation wird dem Back-End-Prozess zur Kennwortzurücksetzung eine höhere Sicherheitsebene hinzugefügt und sichergestellt, dass ein Benutzer sein Kennwort nur
modifizieren kann, wenn context noch gültig ist.
Um das Kennwort eines Benutzers nach einer Zurücksetzungsanforderung zu aktualisieren, übergeben Sie die folgenden Daten im Anforderungshauptteil:
- Ihre Tenant-ID (tenantID).
- Das neue Kennwort des Benutzers.
- Die Cloud Directory-Benutzer-UUID.
- Optional: Die IP-Adresse, von der die Anforderung zum Zurücksetzen des Kennworts ausgeführt wurde. Wenn Sie auswählen, dass die IP-Adresse übergeben wird, dann ist der Platzhalter
%{passwordChangeInfo.ipAddress}für die E-Mail-Vorlage zum Ändern des Kennworts verfügbar.
Abhängig von Ihrer Konfiguration sendet App ID beim Ändern des Kennworts eine E-Mail an den Benutzer und lässt diesen wissen, das eine Änderung vorgenommen wurde.
Geben Sie die folgenden Daten im Anforderungshauptteil an, um Benutzern das Ändern ihres Kennworts zu ermöglichen, während sie bei Ihrer App angemeldet sind:
- Ihre Tenant-ID (tenantID).
- Das neue Kennwort des Benutzers.
- Die Cloud Directory-Benutzer-UUID.
Ihre Seite zum Ändern des Kennworts muss den Benutzer auffordern, sein aktuelles Kennwort und sein neues Kennwort einzugeben.
Ihr Back-End validiert das aktuelle Kennwort des Benutzers mit der ROP-API und falls dieses gültig ist, wird der Endpunkt mit dem neuen Kennwort aufgerufen. Abhängig von Ihrer Konfiguration sendet App ID beim Ändern des Kennworts möglicherweise eine E-Mail an den Benutzer und lässt diesen wissen, dass eine Änderung vorgenommen wurde.
Erneut senden
Sie können die /resend/<templateName> verwenden, um eine E-Mail erneut zu senden, wenn ein Benutzer sie aus irgendeinem Grund nicht erhält.
Übergeben Sie die folgenden Daten im Anforderungshauptteil:
- Die Tenant-ID.
- Den Vorlagennamen.
- Die Cloud Directory-Benutzer-UUID.
Details ändern
Wenn ein Benutzer bei Ihrer App angemeldet ist, kann er einige seiner Daten aktualisieren. Sie können die /Users/<userID> verwenden, um ihre Informationen abzurufen und zu aktualisieren.
Wenn die Benutzerdaten aktualisiert werden, erhält der Endpunkt die aktualisierten Benutzerdaten im Anfragekörper im SCIM-Format. Stellen Sie sicher, dass Sie nur die relevanten Details ändern.
Die E-Mail-Adresse kann nicht geändert werden.