Zukünftige Benutzer vorab registrieren

Mit IBM Cloud® App ID können Sie mit dem Erstellen eines Profils für Benutzer beginnen, von denen Sie wissen, dass sie Zugriff auf Ihre App benötigen werden, bevor sie sich zum ersten Mal anmelden.

Weitere Informationen zu den Sicherheitsaspekten, die bei der Arbeit mit angepassten Attributen anwendbar sein könnten, finden Sie unter Benutzerprofile speichern und darauf zugreifen.

Informationen zur Vorabregistrierung

Es kann vorkommen, dass Sie eine Anwendung entwickeln und bereits wissen, wer Ihre App-Benutzer sein werden. Diese Benutzer werden als "zukünftige Benutzer" bezeichnet. Möglicherweise wissen Sie im Voraus, dass bestimmte Benutzer bestimmte Berechtigungsstufen oder eine bestimmte Lebensmittelpräferenz benötigen, bevor sie überhaupt mit der App interagieren. Zum Beispiel arbeiten Sie für ein Entwicklungsunternehmen und stellen eine neue Person ein, die als Teamleiter fungieren soll. Möglicherweise möchten Sie diesem Benutzer admin-Zugriff auf Ihre App erteilen, bevor er beginnt, sodass er beim ersten Anmelden sofort mit der Arbeit beginnen kann, ohne dass eine weitere Interaktion von Ihrer Seite erforderlich ist. Angenommen, diese Person ist Vegetarier. Indem dies als angepasstes Attribut im Profil der Person angegeben wird, kann die Präferenz für alle Team-Essen extrahiert werden, ohne dass Sie an diese erinnert werden müssen.

Standardmäßig ist die Möglichkeit für Benutzer, eigene angepasste Attribute über die Anwendung zu ändern, auf "off" gesetzt. Sie können Ihren Benutzern diese Fähigkeit geben, aber stellen Sie zuvor sicher, dass Sie die Sicherheitsaspekte kennen und berücksichtigt haben, die relevant werden können.

Zur Zuweisung angepasster Attribute für zukünftige Benutzer können Sie entweder die GUI oder den Vorabregistrierungs-Endpunkt verwenden.

Wie werden Benutzer identifiziert?

Sie können Ihre Benutzer wie folgt identifizieren:

  • Die E-Mail-Adresse, mit der sich der Benutzer bei Ihrer App anmeldet.
  • Falls verfügbar, die eindeutige ID des Benutzers, die als GUID bezeichnet wird, im Identitätsprovider. Auch wenn diese ID immer vorhanden und garantiert eindeutig ist, ist sie nicht immer leicht verfügbar oder leicht verständlich. Zum Beispiel verwendet Cloud Directory eine zufällige 16-Byte-GUID.

Welche Informationen stellen Identitätsprovider bereit?

In der folgenden Tabelle sehen Sie, welche Identitätsinformationen Sie verwenden können.

Arten von Identitätsinformationen, die bei jedem Anbieter verwendet werden können
Identitätsprovider GUID E-Mail Sub
Cloud-Verzeichnis Symbol für Häkchen Symbol für Häkchen
Facebook Symbol für Häkchen Symbol für Häkchen
Google Symbol für Häkchen Symbol für Häkchen
SAML Symbol für Häkchen
Angepasst Symbol für Häkchen

Wie wird Cloud Directory behandelt?

Um die Integrität eines zukünftigen Benutzers zu gewährleisten, stellt Cloud Directory Anforderungen an die Vorregistrierung.

  • Sie müssen eine E-Mail, nicht einen Benutzernamen, verwenden, um den Benutzer hinzuzufügen. Wenn Sie noch keine Benutzer haben, wechseln Sie zum E-Mail- und Kennwortmodus, um zukünftige Benutzer hinzuzufügen. Wenn Sie Benutzer haben, müssen Sie warten, bis sich der Benutzer angemeldet hat, bevor Sie angepasste Attribute zuordnen.
  • Der Benutzer muss seine Identität durch Überprüfung bestätigen. Wenn Sie einen zukünftigen Benutzer mit bestimmten Attributen hinzufügen, sind diese Attribute für diese Person bestimmt. Jeder Benutzer, der sich über eine E-Mail, die für einen zukünftigen Benutzer registriert ist, anmeldet, muss seine E-Mail-Adresse überprüfen, bevor er Zugriff auf Ihre App erhält. Um die Verifizierungsvoraussetzungen zu erfüllen, können Sie eine E-Mail senden, mit der der Benutzer seine Adresse im Auftrag der anderen Person verifizieren oder manuell verifizieren kann. Wenn Sie die Selbstverifizierung zulassen möchten, setzen Sie E-Mail-Verifizierung auf der Registerkarte Cloud Directory des Service-Dashboards auf Ein. Dadurch wird eine E-Mail an den Benutzer gesendet, um die Verifizierung bei der Erstanmeldung anzufordern. Um Benutzer manuell zu verifizieren, müssen Sie ein Administrator sein. Stellen Sie eine Anfrage an die Cloud Directory-Verwaltungs-APIs, um das Feld status in der Nutzlast auf CONFIRMED zu setzen.

Wenn ein zukünftiger Benutzer von Ihnen hinzugefügt wird und sich bei Ihrer App anmeldet, ohne die E-Mail zu verifizieren, werden die angepassten Attribute gelöscht und das Profil wird von Grund auf neu erstellt.

Gibt es etwas Besonderes, das ich bei der Verwendung eines angepassten Identitätsproviders tun muss?

Wenn Sie Ihrer Anwendung Benutzerinformationen vorab hinzufügen, können Sie jede eindeutige ID verwenden, die vom Authentifizierungsablauf bereitgestellt wird. Die ID muss genau mit der sub des signierten JSON-Web-Tokens übereinstimmen, das während der Berechtigungsanforderung gesendet wird. Wenn die ID nicht übereinstimmt, wird das Profil, das hinzugefügt werden soll, nicht erfolgreich verknüpft.

Zukünftigen Benutzer hinzufügen

Nachdem Sie sich nun über den Prozess und die Auswirkungen auf die Sicherheit informiert haben, versuchen Sie, einen Benutzer hinzuzufügen.

Die vordefinierten Attribute eines Benutzers sind bis zu dessen erster Authentifizierung leer. Obwohl sie leer sind, ist der Benutzer immer noch vollständig authentifiziert. Sie können seine Profil-ID genauso verwenden wie jemand, der bereits angemeldet ist. Beispielsweise können Sie das Profil ändern, suchen oder löschen.

Vorbereitende Schritte

Bevor Sie beginnen, müssen Sie über folgende Informationen verfügen:

  • Der Identitätsprovider, mit dem sich der Benutzer anmeldet.
  • Die E-Mail des Benutzers, den Sie hinzufügen möchten, oder seine eindeutige Kennung.
  • Die Informationen zum angepassten Attribut, das Sie zuweisen möchten.

Mit der GUI

Sie können einen zukünftigen Benutzer und die zugehörigen angepassten Attribute über die grafische Benutzerschnittstelle hinzufügen.

Die Möglichkeit, zukünftige Benutzer hinzuzufügen, ist für die Konfiguration für Benutzernamen und Kennwort von Cloud Directory inaktiviert.

  1. Wechseln Sie zur Registerkarte Benutzerprofile des App ID-Dashboards.

  2. Klicken Sie auf Zukünftige Benutzer. Wenn Sie bereits zukünftige Benutzer haben, sehen Sie eine Tabelle mit einer Liste der Benutzer, die Sie bereits hinzugefügt haben. Um einen weiteren Benutzer hinzuzufügen, klicken Sie auf Profil erstellen. Wenn Sie noch keine Benutzer haben, klicken Sie auf Einführung. Daraufhin wird eine Anzeige geöffnet.

  3. Geben Sie die E-Mail Ihres Benutzers ein.

  4. Wählen Sie über das Dropdown-Menü Identitätsprovider den Identitätsprovider aus, mit dem er sich anmelden soll.

  5. Fügen Sie angepasste Attribute hinzu, indem Sie die Informationen in ein JSON-Objekt eingeben, wie im folgenden Beispiel gezeigt.

    {
       "food": "Pizza",
       "preference": "Vegetarian",
       "points": "37"
    }
    
  6. Klicken Sie auf Speichern. Die Tabelle wird angezeigt und dem Benutzer wird eine Kennung zugeordnet.

Mit der API

Sie können einen zukünftigen Benutzer und die zugehörigen angepassten Attribute über die API hinzufügen.

  1. Melden Sie sich an IBM Cloud an.

    ibmcloud login
    
  2. Suchen Sie Ihr IAM-Token, indem Sie den folgenden Befehl ausführen.

    ibmcloud iam oauth-tokens
    
  3. Stellen Sie eine POST-Anforderung an den Endpunkt /users, der eine Beschreibung des Benutzers und der Attribute enthält, die Sie als JSON-Objekt festlegen möchten.

    Header:

    POST <managementUrl>/management/v4/<tenantID>/users
          Host: <managementServerURL>
          Authorization: 'Bearer <IAMToken>'
          Content-Type: application/json
    

    Hauptteil:

    {
          "idp": "<identityProvider>",
          "idp-identity": "<userUniqueIdentifier>",
          "profile": {
             "attributes": {
                "mealPreference":"vegeterian"
             }
          }
    }
    
    Die Bestandteile der POST-Anfrage
    Komponenten Beschreibung
    idp Der Identitätsprovider, mit dem sich der Benutzer authentifiziert. Zu den Optionen gehören: saml, cloud_directory, facebook, google, appid_custom.
    idp-identity Die eindeutige ID, die vom Identitätsprovider bereitgestellt wird.
    profile Das Profil des Benutzers, das die JSON-Zuordnung des angepassten Attributs enthält.

    Beispielanforderung:

    $ curl --request POST \
          --url 'https://<managementURI>/users \
          --header 'Authorization: Bearer <IAMToken>' \
          --header 'Content-Type: application/json' \
          --data '{"idp": "saml", "idp-identity": "user@ibm.com", "profile": { "attributes": { "role": "admin",
          "frequent_flyer_points": 1000 }}}'
    
  4. Überprüfen Sie, ob die Registrierung erfolgreich war.

    • Überprüfen Sie, ob das Benutzerprofil erstellt wurde.

      curl --request GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userProfileId>/profile \
      --header 'Authorization: Bearer <IAMToken>' \
      --header 'Content-Type: application/json' \
      
    • Überprüfen Sie, ob die Benutzer-ID in der Antwort enthalten ist.

      {
         "id": "5ce78e09-1356-4ef8-a45d-808b633101db",
         "identities": [],
         "attributes": {
            "role": "manager"
         }
      }
      

Nächste Schritte

Nachdem Sie nun einem zukünftigen Benutzer bestimmte Attribute zugeordnet haben, versuchen Sie, auf Attribute zuzugreifen oder Attribute zu aktualisieren.