Benutzer verwalten

Mit Cloud Directory können Sie Benutzer in einer skalierbaren Registry mithilfe einer vordefinierten Funktion verwalten, die die Sicherheit und den Self-Service erhöhen.

Ein Cloud Directory-Benutzer ist nicht identisch mit einem App ID-Benutzer. Benutzer können sich unter Verwendung der von Ihnen konfigurierten Identitätsprovideroptionen bei der App registrieren. Alternativ können Sie sie zum Verzeichnis hinzufügen. Den in den nachfolgenden Abschnitten genannten Benutzern ist Cloud Directory als Identitätsprovider zugeordnet.

Benutzerinformationen anzeigen

Sie können alle Informationen, die zu allen Cloudverzeichnis-Benutzern bekannt sind, als JSON-Objekt anzeigen, indem Sie die APIs oder das Dashboard verwenden.

Anzeige von Benutzerinformationen in der Konsole

Sie können im App ID-Dashboard Details zu den App-Benutzern anzeigen.

  1. Navigieren Sie zur Registerkarte Cloud Directory > Benutzer der App ID-Instanz.

  2. Durchsuchen Sie die Tabelle oder suchen Sie mithilfe einer E-Mail-Adresse, um den Benutzer zu finden, für den Sie die Informationen anzeigen möchten. Der Suchbegriff muss genau sein.

  3. Klicken Sie im Überlaufmenü in der Zeile des Benutzers auf Benutzerdetails anzeigen. Es wird eine Seite geöffnet, auf der die Informationen des Benutzers enthalten sind. In der folgenden Tabelle sehen Sie, welche Informationen angezeigt werden.

    Die Details, die Sie auf dem App ID Dashboard über Ihre Nutzer sehen können
    Detail Beschreibung
    Benutzer-ID Die Benutzer-ID hängt vom Typ der Benutzeranmeldung ab, die Sie konfiguriert haben. Wenn Sie beispielsweise einen Ablauf für E-Mail und Kennwort haben, ist die ID die Benutzer-E-Mail. Wenn Sie den Ablauf mit Benutzername und Kennwort verwenden, ist die ID der Benutzername, der bei der Anmeldung angegeben wurde.
    E-Mail Die primäre E-Mail-Adresse, die dem Benutzer zugeordnet ist.
    Vorname und Nachname Der Vorname und der Nachname des Benutzers, die beim Registrierungsprozess vom Benutzer angegeben wurden.
    Letzte Anmeldung Die Zeitmarke des letzten Anmeldung des Benutzers bei Ihrer Anwendung. Hinweis: Wenn Sie Ihre Benutzer über das Dashboard hinzugefügt haben, ist die Anmeldung leer, bis der Benutzer sich selbst bei Ihrer App anmeldet. Wenn die Anmeldung erfolgt, werden die Benutzer ebenfalls Benutzer von App ID.
    ID Die ID, die dem Benutzer von App ID zugeordnet wird. In der Konsole wird er nicht angezeigt, aber Sie können den Wert kopieren und in einen Texteditor einfügen, um den Wert zu sehen.
    Vordefinierte Attribute Vordefinierte Attribute sind Daten, die über einen Benutzer auf der Basis von SCIM bekannt sind.
    Angepasste Attribute Angepasste Attribute sind zusätzliche Informationen, die zu einem Profil hinzugefügt werden oder die während der Interaktion des Benutzers mit der Anwendung erfasst werden.
    Zusammenfassung Alle Attribute werden zu einem einzigen Profil kompiliert, das Ihnen einen vollständigen Überblick über Ihren Cloudverzeichnis-Benutzer gibt. Weitere Informationen finden Sie unter Benutzerprofile.

Anzeigen von Benutzerinformationen mit der API

Sie können in der App ID-API Details zu den App-Benutzern anzeigen.

  1. Rufen Sie Ihre Tenant-ID von der Instanz des Service ab.

  2. Durchsuchen Sie Ihre App ID-Benutzer mit einer Abfrage, mit der sich diese identifizieren lassen, zum Beispiel über eine E-Mail-Adresse, um die Benutzer-ID zu finden.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/Users?query=<identifyingSearchQuery>" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

    Beispiel:

    curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=user@domain.com
    -H "accept: application/json"
    -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...."
    
  3. Erstellen Sie mithilfe der im vorherigen Schritt abgerufenen ID eine GET-Anforderung für den Endpunkt cloud_directory/users, um das vollständige Benutzerprofil anzuzeigen.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/Users/<userID>" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

    Beispielantwort:

    {
       "sub": "c155c0ff-337a-46d3-a22a-a8f2cca08995",
       "name": "Test User",
       "email": "testuser@test.com",
       "identities": [
       {
          "provider": "cloud_directory",
          "id": "f1772fcc-ff70-4d88-81a0-07dd7a3d988f",
          "idpUserInfo": {
             "displayName": "Test User",
             "active": true,
             "mfaContext": {},
             "emails": [
             {
                "value": "testuser@test.com",
                "primary": true
             }
             ],
             "meta": {
             "lastLogin": "2019-05-20T16:33:20.699Z",
             "created": "2019-05-20T16:25:13.019Z",
             "location": "/v1/6b8ab644-1d4a-4b3e-bcd9-777ba8430a51/Users/f1772fcc-ff70-4d88-81a0-07dd7a3d988f",
             "lastModified": "2019-05-20T16:33:20.707Z",
             "resourceType": "User"
             },
             "schemas": [
             "urn:ietf:params:scim:schemas:core:2.0:User"
             ],
             "name": {
             "givenName": "Test",
             "familyName": "User",
             "formatted": "Test User"
             },
             "id": "f1772fcc-ff70-4d88-81a0-07dd7a3d988f",
             "status": "CONFIRMED",
             "idpType": "cloud_directory"
          }
       }
       ]
    }
    

    Um die vollständigen Daten eines Benutzers anzuzeigen, für den App ID Unterstützung bietet, machen Sie sich mit dem SCIM-Kernschema vertraut.

Benutzer hinzufügen

Wenn sich ein Benutzer bei der Anmeldung registriert, wird er als Benutzer hinzugefügt. Zu Testzwecken können Sie einen Benutzer über das App ID-Dashboard oder die API hinzufügen.

Wenn sich ein Benutzer bei der Anmeldung registriert, wird diese Anmeldung über einen Self-Service-Workflow durchgeführt, von dem automatisch E-Mails ausgelöst werden, zum Beispiel Willkommens- oder Verifizierungsanforderungen. Wenn Sie als Administrator einen Benutzer zu Ihrer App hinzufügen, wird kein Self-Service-Workflow eingeleitet, was bedeutet, dass Benutzer keine E-Mails von Ihrer Anwendung erhalten. Wenn Sie möchten, dass Ihre Benutzer weiterhin benachrichtigt werden, dass sie hinzugefügt wurden, können Sie die Nachrichtenflüsse über die App ID management API auslösen.

Wenn Sie die Self-Service-Anmeldung inaktivieren oder einen Benutzer in seinem Namen hinzufügen, erhält der Benutzer keine Willkommens- oder Bestätigungsnachricht, wenn er hinzugefügt wird.

Hinzufügen von Benutzern in der Konsole

  1. Wechseln Sie auf die Registerkarte Cloud Directory > Benutzer im App ID-Dashboard.

  2. Klicken Sie auf Benutzer hinzufügen. Ein Formular wird geöffnet.

  3. Geben Sie einen Wert für Vorname, Nachname, E-Mail und Kennwort ein. Vergewissern Sie sich, dass die E-Mail-Adresse, die Sie zur Registrierung verwenden wollen, nicht bereits von einem anderen Benutzer benutzt wird. Um sicherzustellen, dass Sie Ihr Kennwort korrekt eingegeben haben, bestätigen Sie dies durch Eingabe in das Feld Kennwort erneut eingeben.

  4. Klicken Sie auf Speichern. Daraufhin wird ein Cloud Directory-Benutzer erstellt.

Benutzer mit der API hinzufügen

  1. Rufen Sie Ihre Tenant-ID aus Ihren Anwendungs- oder Serviceberechtigungsnachweisen ab.

  2. Rufen Sie das IBM Cloud-IAM-Token ab.

    curl -X GET "https://iam.cloud.ibm.com/oidc/token" \
    -H "accept: application/x-www-form-urlencoded"
    
  3. Führen Sie den folgenden Befehl aus, um einen neuen Benutzer und gleichzeitig ein Profil zu erstellen.

    curl -X POST "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/sign_up?shouldCreateProfile=true&language=en" \
    -H "accept: application/json" \
    -H "Content-Type: application/json" \
    -H "authorization: Bearer <token>" \
    -d "{ \"active\": true, \"emails\": [ { \"value\": \"<user@domain.com>\", \"primary\": true } ], \"userName\": \"<userName>\", \"password\": \"<userPassword>\"}"
    

Benutzer löschen

Wenn Sie einen Benutzer aus Ihrem Verzeichnis entfernen möchten, können Sie ihn über die Konsole oder über die APIs löschen.

Löschung eines einzelnen Benutzers in der Konsole

  1. Wechseln Sie auf die Registerkarte Cloud Directory > Benutzer im App ID-Dashboard.

  2. Klicken Sie auf das Kontrollkästchen neben dem Benutzer, den Sie löschen möchten. Ein Feld wird angezeigt.

  3. Klicken Sie in dem Feld auf Löschen. Daraufhin wird eine Anzeige geöffnet.

  4. Bestätigen Sie, dass Sie wissen, dass das Löschen eines Benutzers nicht rückgängig gemacht werden kann, indem Sie auf Löschen klicken. Wenn die Aktion fälschlicherweise ausgeführt wurde, dann können Sie den Benutzer erneut zu Ihrem Verzeichnis hinzufügen, die zuvor zu dem betreffenden Benutzer vorhandenen Daten sind jedoch nicht mehr verfügbar.

Einzelnen Benutzer mit der API löschen

  1. Rufen Sie Ihre Tenant-ID ab.

  2. Rufen Sie das IBM Cloud-IAM-Token ab.

    curl -X GET "https://iam.cloud.ibm.com/oidc/token" \
    -H "accept: application/x-www-form-urlencoded"
    
  3. Durchsuchen Sie mithilfe der E-Mail-Adresse, die dem Benutzer zugeordnet ist, das Verzeichnis nach der ID des Benutzers.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users?email=<user@domain.com>" \
    -H "accept: application/json"
    
  4. Löschen Sie den Benutzer.

    curl -X DELETE "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/remove/<userID>" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

Mehrere Benutzer mit der API löschen

Sie können Cloudverzeichnisbenutzer und ihre entsprechenden Profile auch per Massenlöschoperation löschen, indem Sie die API zum Löschen von Massendaten verwenden.

Sie können bis zu 100 Benutzer pro Anforderung löschen.

  1. Rufen Sie Ihre Tenant-ID ab.

  2. Rufen Sie das IBM Cloud-IAM-Token ab.

    curl -X GET "https://iam.cloud.ibm.com/oidc/token" \
    -H "accept: application/x-www-form-urlencoded"
    
  3. Löschen Sie die Benutzer, indem Sie den folgenden Befehl mit einer Liste von Benutzer-IDs ausführen.

    curl -X POST "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/bulk_remove" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    -d '{
    "ids": [
      "fed2634a-7a6c-4f6a-855d-8e3c73a5b5cc",
      "9380158c-19c9-4303-9111-a91743f4bad8"
      ]
    }'
    

Benutzer migrieren

Gelegentlich müssen Sie vielleicht eine Instanz von App ID hinzufügen. Um die Migration zur neuen Instanz zu erleichtern, können Sie die Export- und Import-APIs für kleinere Migrationen verwenden. Wenn Sie eine große Anzahl von Nutzern migrieren (16.000 oder mehr), können Sie mit einer einzigen API-Anfrage alle Nutzer exportieren oder importieren, um Ihre Effizienz zu steigern.

Sie müssen die IAM-Rolle Manager für beide Instanzen von App ID zugewiesen bekommen.

Alle Benutzer exportieren

Bevor Sie Ihre Profile in Ihre neue Instanz importieren können, müssen Sie sie aus Ihrer ursprünglichen Instanz exportieren.

Wenn Sie viele Benutzer (16.000 oder mehr) exportieren, können Sie den export/all-API-Endpunkt verwenden.

  1. Exportieren Sie alle Benutzer aus Ihrer ursprünglichen Instanz des Dienstes.

    curl -X POST 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/export/all' \
       --header 'Content-Type: application/json' \
       --header 'Authorization: Bearer <IAMToken>' \
       --data-raw '{"encryptionSecret" : "<encryptionSecret>",  
    "emailAddress" : "jdoe@example.com"}'
    
  2. Rufen Sie den Status Ihrer Anforderung nach Bedarf ab.

    curl -X GET 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/export/status?id=<id>' --header 'Accept: application/json' \
       --header 'Content-Type: application/json' \
       --header 'Authorization: Bearer <IAMToken>'
    
  3. Wenn der Export bereit ist oder die Anforderung fehlschlägt, wird eine E-Mail an die angegebene E-Mail-Adresse gesendet. Verwenden Sie zum Herunterladen des Exports die API export/download.

    curl -X GET 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/export/download?id=<id>' \
       --header 'Content-Type: application/json' \
       --header 'Authorization: Bearer <IAMToken>'
    

    Eine Exportdatei wird nur erstellt, wenn die Exportanforderung erfolgreich ist. Wenn die Anforderung fehlschlägt, werden die erfassten Daten gelöscht, um Ihr Schwachstellenrisiko zu reduzieren. Der Export wird automatisch nach 7 Tagen oder nach der Anzahl der Tage gelöscht, die Sie im Hauptteil der Anforderung angeben (im Bereich von 1 bis 30 Tagen). Sie können den Export manuell löschen, indem Sie eine Anforderung an die API delete senden.

    Beschreibungen der Parameter, die in der export/all-Anfrage angegeben werden müssen
    Parameter Beschreibung
    encryptionSecret Eine angepasste Zeichenfolge, die zur Ver- und Entschlüsselung eines hashverschlüsselten Benutzerkennworts verwendet wird. Behalten Sie den geheimen Verschlüsselungsschlüssel bei Bedarf bei, um die API import/all zu verwenden. IBM speichert den geheimen Schlüssel nicht. Wenn der geheime Schlüssel also verloren geht, können Sie nicht auf die exportierten Daten zugreifen.
    emailAddress Eine E-Mail-Adresse, an die eine E-Mail gesendet wird, wenn der Export bereit ist oder die Anforderung fehlschlägt.
    expires Eine ganze Zahl, die Sie festlegen können (1 ≤ Wert ≤ 30), um die Anzahl der Tage anzugeben, nach denen der Export gelöscht werden muss. Der Standardwert beträgt 7.
    tenantID Die Service-Tenant-ID ist in Ihren Serviceberechtigungsnachweisen enthalten. Sie können Ihre Dienstanmeldedaten im App ID Dashboard finden oder erstellen.

Exportieren von Benutzern in Stapeln

Der Export-Endpunkt ist für kleinere Exporte von weniger als 16.000 Benutzern reserviert. Zum Exportieren aller Cloud Directory-Benutzer, die einer bestimmten Tenant-ID zugeordnet sind, verwenden Sie den API-Endpunkt export/all.

  1. Exportieren Sie die Benutzer aus Ihrer ursprünglichen Instanz des Service.

    curl -X GET 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/export?encryption_secret=mySecret' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <IAMToken>'
    
    Beschreibungen der Parameter, die in der Exportanfrage angegeben werden müssen
    Parameter Beschreibung
    encryptionSecret Eine angepasste Zeichenfolge, die zur Ver- und Entschlüsselung eines hashverschlüsselten Benutzerkennworts verwendet wird.
    tenantID Die Service-Tenant-ID ist in Ihren Serviceberechtigungsnachweisen enthalten. Sie finden Ihre Serviceberechtigungsnachweise im App ID-Dashboard.

    Nur Ihre Cloud Directory-Benutzer und deren Profile werden zurückgegeben. Für die Benutzer anderer Identitätsprovider gilt dies nicht.

Alle Benutzer importieren

Nachdem Sie nun eine Liste der exportierten Cloud-Directory-Benutzer haben, können Sie sie in die neue Instanz importieren. Sie können den API-Endpunkt import-all verwenden, um eine große Anzahl von Benutzern (16.000 oder mehr) mit einer einzigen Anfrage zu importieren.

  1. Importieren Sie die Liste der exportierten Benutzer, die Sie heruntergeladen haben.

    curl -X POST 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/import/all' \
    --header 'Content-Type: multipart/form-data' \
    --header 'Authorization: Bearer <IAMToken>' \
    --form 'file=@<User/desktop/myfolder/user_list.json>' \
    --form 'encryptionSecret=mySecret' \
    --form 'emailAddress=jdoe@example.com'
    
  2. Rufen Sie den Status Ihrer Anforderung nach Bedarf ab.

    curl -X GET 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/import/status?id=<id>' \
    --header 'Accept: application/json' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <IAMToken>'
    
    Beschreibungen der Parameter, die in der Import/All-Anfrage angegeben werden müssen
    Parameter Beschreibung
    encryptionSecret Eine angepasste Zeichenfolge, die zur Ver- und Entschlüsselung eines hashverschlüsselten Benutzerkennworts verwendet wird. Der geheime Verschlüsselungsschlüssel ist derselbe geheime Schlüssel, den Sie der API export/all zugeordnet haben. IBM speichert den geheimen Schlüssel nicht. Wenn der geheime Schlüssel also verloren geht, können Sie nicht auf die exportierten Daten zugreifen.
    emailAddress Eine E-Mail-Adresse, an die eine E-Mail gesendet wird, wenn der Export bereit ist oder die Anforderung fehlschlägt.
    tenantID Die Service-Tenant-ID ist in Ihren Serviceberechtigungsnachweisen enthalten. Sie können Ihre Dienstanmeldedaten im App ID Dashboard finden oder erstellen.
    file Die Ausgabe vom Endpunkt export/download.

Importieren von Benutzern in Stapeln

Sie können den Import-API-Endpunkt verwenden, um einige Benutzer auf einmal zu importieren. Mit dem Import-API-Endpunkt können Sie bis zu 50 Benutzer pro Anforderung hinzufügen. Um alle Benutzer über eine einzige Anforderung hinzuzufügen, verwenden Sie den API-Endpunkt import/all.

  1. Wenn Ihren Benutzern Rollen zugewiesen wurden, müssen Sie die Rollen und Bereiche in Ihrer neuen Instanz von App ID erstellen.

    Die Rollen und Bereiche müssen genau so und mit derselben Schreibweise wie in der vorherigen Instanz erstellt werden.

  2. Benutzer werden mit einer neuen Cloud Directory-ID importiert. Wenn Ihre App in irgendeiner Weise auf die Cloud-Directory-ID verweist, können Sie ein angepasstes Attribut erstellen und Ihre Anwendung so anpassen, dass sie das Attribut und nicht direkt die ID aufruft.

  3. Importieren Sie die Benutzer in Ihre neue Instanz des Service.

    curl -X POST 'https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/cloud_directory/import?encryption_secret=mySecret'
    --header 'Content-Type: application/json'
    --header 'Accept: application/json'
    --header 'Authorization: Bearer <IAMToken>'
    -d '{"users": [
       {
          "scimUser": {
             "originalId": "3f3f6779-7978-4383-926f-a43aef3b724b",
             "name": {
             "givenName": "John",
             "familyName": "Doe",
             "formatted": "John Doe"
             },
             "displayName": "John Doe",
             "emails": [
             {
                "value": "user@example.com",
                "primary": true
             }
             ],
             "status": "PENDING"
          },
          "displayName": "Jane-Doe",
          "emails": [
             {
             "value": "jdoe@example.com",
             "primary": true
             }
          ],
          "status": "PENDING"
       },
       "passwordHash": "<passwordHashHere>",
       "passwordHashAlg": <passwordHashAlgorithm>,
       "profile": {
          "attributes": {}
       },
       "roles": []
       }
    ]}'
    

Migrationsskript für kleinere Exporte und Importe

App ID stellt ein Migrationsscript zur Verwendung in der Befehlszeilenschnittstelle bereit, mit dem Sie den Migrationsprozess beschleunigen können, wenn Sie die API-Endpunkte 'export' oder 'import' verwenden. Alternativ können Sie den Migrationsprozess noch effizienter gestalten, indem Sie die API-Endpunkte export/all und import/all verwenden.

  1. Klonen Sie das Repository.
git clone https://github.com/ibm-cloud-security/appid-sample-code-snippets/tree/master/export-import-cloud-directory-users.git
  1. Wechseln Sie im Terminal zu dem Ordner, in den Sie das Repository geklont haben.

  2. Führen Sie den folgenden Befehl aus.

    npm install
    
  3. Führen Sie den folgenden Befehl mit Ihren Parametern aus.

    users_export_import 'sourceTenantId' 'destinationTenantId' 'region' 'iamToken'
    
    Parameterbeschreibungen
    Parameter Beschreibung
    sourceTenantId Die Tenant-ID der Instanz von App ID, aus der Sie Benutzer exportieren wollen.
    destinationTenantId Die Tenant-ID der Instanz von App ID, in die Sie Benutzer exportieren wollen.
    region Weitere Informationen zu den verfügbaren Regionen.
    IAM token Hilfe bei der Beschaffung eines IAM-Tokens finden Sie in den Dokumentationen.

    Beispielbefehl:

    users_export_import e00a0366-53c5-4fcf-8fef-ab3e66b2ced8 73321c2b-d35a-497a-9845-15c580fdf58c ng eyJraWQiOiIyMDE3MTAyNS0xNjoyNzoxMCIsImFsZyI6IlJTMjU2In0.eyJpYW1faWQiOiJJQk1pZC0zMTAwMDBUNkZTIiwiaWQiOiJJQk1pZC0zMTAwMDBUNkZTIiwicmVhbG1pZCI6IklCTWlkIiwiaWRlbnRpZmllciI6IjMxMDAwIFQ2RlMiPCJnaXZlbl9uYW1lIjoiUm90ZW0iLCJmYW1pbHlfbmFtZSI6IkJyb3NoIiwibmFtZSI6IlJvdGVtIEJyb3NoIiwiZW1haWwiOiJyb3RlbWJyQGlsLmlibS5jb20iLCJzdWIiOiJyb3RlbWJyQGlsLmlibS5jb20iLCJhY2NvdW50Ijp7ImJzcyI6ImQ3OWM5YTk5NjJkYzc2Y2JkMDZlYTVhNzhjMjY0YzE5In0sImlhdCI6MTUzNrE3Mjg4NCwiZXhwIjoxNTM3MTc2NDg0LCJpc3MiOiJodHRwczovL2lhbS5zdGFnZTEuYmx1ZW1peC5uZXQvaWRlbnRpdHkiLCJncmFudF90eXBlIjoidXJuOmlibTpwYXJhbXM6b2F1dGg6Z3JhbnQtdHlwZTpwYXNzY29kZSIsInNjb3BlIjoiaWJtIG9wZW5pZCIsImNsaWVudF9pZCI6ImJ4IiwiYWNyIjoxLCJhbXIiOlsicHdkIl19.c4vLPzhvvNZLjaLy7znDa37qV4o-yuGmSKmJoQKrEQNZU8IC0NIjxwSo7W9kb0pDi3Yf_03_9ufTTGNfjtltzNWycSXjkNgoL-b9_nU61oHdgn0stY1KmNicqyBWfgUU--4xa904QN_QjRHBaUBeJf3XWEphPIMoF7mZeOxEZLnCMcQXSz9pImCMiP4SNT38cHLiI90Yx01rM7hpteepWULh5MYh-B2V03Gkgxfqvv951HF1LDg6eT4Q9in11laTQKtKuomripUju_4GIIjORVYw9NaAVKIJ9lKrPX0SKPhStsa59qGsC_7Uersms5EY1W1VbZVqOZPJbtp6tVf-Lw