E-Mail-Verifizierungen erneut senden, wenn die E-Mail-Adresse bereits verifiziert wurde

Nachdem ein Benutzer mit dem Selbstregistrierungsprozess einen Account in einer Identitätsdomain erstellt hat, wird eine E-Mail-Benachrichtigung an ihn gesendet, um seine E-Mail-Adresse zu verifizieren. Nachdem Benutzer ihre E-Mail-Adressen verifiziert haben, können sie ihre E-Mail-Adressen danach nicht mehr verifizieren.

Mit Identitätsdomains können benutzerdefinierte Clients jedoch auch den E-Mail-Änderungsablauf für dieselbe E-Mail-Adresse so oft wie nötig neu initiieren. Um diese Funktion zu unterstützen, müssen Sie das Attribut triggerEmailVerificationFlowIfEmailAlreadyVerified in der Anforderungs-Payload MeEmailVerifier auf true setzen.

Führen Sie die folgenden Schritte aus, um den E-Mail-Verifizierungsablauf auszulösen, wenn eine E-Mail-Adresse bereits verifiziert wurde:

Schritt 1: Benutzer erstellen

In diesem Schritt wird gezeigt, wie Sie einen Benutzer erstellen, indem Sie eine POST-Anforderung über cURL in der REST-Ressource weiterleiten. Weitere Informationen zu cURL finden Sie unter cURL verwenden.

   curl
   -X POST
   -H "Content-Type:application/json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Users
Hinweis

Der Befehl in diesem Beispiel verwendet die URL-Struktur https://<domainURL>/resource-path, wobei <domainURL> die Identitätsdomain-URL darstellt und der Ressourcenpfad die Identitätsdomain-API darstellt. Die entsprechende URL-Struktur finden Sie unter Anforderungen senden.

Beispiel für den Anforderungstext

Der folgende Abschnitt enthält ein Beispiel für einen Anforderungstext im JSON-Format:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User"
    ],
    "userName": "bjensen@example.com",
    "password": "{{password}}",
    "name": {
        "familyName": "Jensen",
        "givenName": "Barbara",
        "middleName": "Jane"
    },
    "emails": [
        {
            "value": "bjensen@example.com",
            "type": "work",
            "primary": true
        }
    ]
}

Beispiel für den Antworttext

Der folgende Abschnitt enthält ein Beispiel für den Antworttext:

{
    "idcsCreatedBy": {
        "type": "User",
        "display": "admin opc",
        "value": "6aa2585abd464991929bcf05ace532e9",
        "$ref": "[https://<domainURL>/admin/v1/Users/6aa2585abd464991929bcf05ace532e9]"
    },
    "id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
    "meta": {
        "created": "2022-03-01T05:19:52.765Z",
        "lastModified": "2022-03-01T05:19:52.765Z",
        "resourceType": "User",
        "location": "[https://<domainURL>/admin/v1/Users/ff9a9207fc8c4fd2b3d76af84235e8fd]"
    },
    "active": true,
    "displayName": "Barbara Jensen",
    "idcsLastModifiedBy": {
        "value": "6aa2585abd464991929bcf05ace532e9",
        "display": "admin opc",
        "type": "User",
        "$ref": "[https://<domainURL>/admin/v1/Users/6aa2585abd464991929bcf05ace532e9]"
    },
    "userName": "bjensen2",
    "emails": [
        {
            "verified": false,
            "primary": false,
            "secondary": false,
            "value": "[bjensen@example.com|mailto:bjensen@example.com]",
            "type": "recovery"
        },
        {
            "verified": false,
            "primary": true,
            "secondary": false,
            "value": "[bjensen@example.com|mailto:bjensen@example.com]",
            "type": "work"
        }
    ],
    "urn:ietf:params:scim:schemas:example:idcs:extension:userState:User": {
        "locked": {
            "on": false
        }
    },
    "name": {
        "familyName": "Jensen",
        "givenName": "Barbara",
        "formatted": "Barbara Jane Jensen",
        "middleName": "Jane"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:example:idcs:extension:userState:User"
    ]
}

Schritt 2: Benutzer abrufen

In diesem Schritt wird gezeigt, wie Sie einen Benutzer über die Benutzer-ID abrufen, indem Sie eine GET-Anforderung über cURL auf der REST-Ressource weiterleiten. Weitere Informationen zu cURL finden Sie unter cURL verwenden.

   curl
   -X GET
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Users/<user_ocid or user_id>
Hinweis

Der Befehl in diesem Beispiel verwendet die URL-Struktur https://<domainURL>/resource-path, wobei <domainURL> die Identity Service-URL darstellt und der Ressourcenpfad die Identity Service-API darstellt. Die entsprechende URL-Struktur finden Sie unter Anforderungen senden.

Beispiel für den Antworttext

Das folgende Beispiel zeigt den Inhalt des Antworttextes im JSON-Format:

{
    "displayName": "Barbara Jensen",
    "name": {
        "givenName": "Barbara",
        "formatted": "Barbara Jane Jensen",
        "middleName": "Jane",
        "familyName": "Jensen"
    },
    "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User": {
        "locked": {
            "on": false
        }
    },
    "userName": "bjensen@example.com",
    "id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
    "active": true,
    "emails": [
        {
            "verified": "false",
            "value": "bjensen@example.com",
            "type": "recovery"
        },
        {
            "primary": true,
            "value": "bjensen@example.com",
            "type": "work"
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User",
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "meta": {
        "resourceType": "User",
        "created": "2022-07-13T07:28:59.227Z",
        "lastModified": "2022-07-13T07:28:59.227Z",
        "location": "http://<domainURL>/admin/v1/Users/ff9a9207fc8c4fd2b3d76af84235e8fd"
    },
    "idcsCreatedBy": {
        "value": "f8fa30db0f5f41f98de00bc07c05a73d",
        "$ref": "/OAuthClients/f8fa30db0f5f41f98de00bc07c05a73d",
        "type": "OAuthClient",
        "display": "admin"
    },
    "idcsLastModifiedBy": {
        "value": "f8fa30db0f5f41f98de00bc07c05a73d",
        "$ref": "/OAuthClients/f8fa30db0f5f41f98de00bc07c05a73d",
        "type": "OAuthClient",
        "display": "admin"
    }
}

Schritt 3: Self-Service-E-Mail-Verifizierung starten

In diesem Schritt wird gezeigt, wie Sie die E-Mail-Validierung der primären E-Mail-Adresse des Benutzers oder der Wiederherstellungs-E-Mail-Adresse initiieren, indem Sie eine PUT-Anforderung über cURL an die REST-Ressource weiterleiten. Weitere Informationen zu cURL finden Sie unter cURL verwenden.

   curl
   -X PUT
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerifier

Beispiel für den Anforderungstext

Der folgende Abschnitt enthält ein Beispiel für einen Anforderungstext im JSON-Format:

{
    "email": "bjensen@example.com",
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerifier"
    ],
    "id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
    "userFlowControlledByExternalClient": true,
    "triggerEmailVerificationFlowIfEmailAlreadyVerified": true
}

Beispiel für den Antworttext

Das folgende Beispiel zeigt den Inhalt des Antworttextes im JSON-Format:

{
    "email": "bjensen@example.com",
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerifier"
    ],
    "id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
    "userFlowControlledByExternalClient": true,
    "triggerEmailVerificationFlowIfEmailAlreadyVerified": true,
    "meta": {
        "resourceType": "MeEmailVerifier",
        "location": "https://<domainURL>/admin/v1/MeEmailVerifier/57044ca14d274d789a586e5ec77c26f3"
    },
    "userToken": {
        "value": "db21a3578d27439ca9fab6349be46c30",
        "$ref": "https://<domainURL>/admin/v1/UserTokens/db21a3578d27439ca9fab6349be46c30"
    }
}

Schritt 4: Benutzertoken abrufen

In diesem Schritt wird gezeigt, wie Sie ein Benutzertoken mit seiner ID abrufen, indem Sie eine GET-Anforderung über cURL auf der REST-Ressource weiterleiten. Weitere Informationen zu cURL finden Sie unter cURL verwenden.

   curl
-X GET
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/UserTokens/{{usertokenid}}

Beispiel für den Antworttext

Das folgende Beispiel zeigt den Inhalt des Antworttextes im JSON-Format:

{
    "expiryTime": "2022-07-13T07:28:59.227Z",
    "token": "KtXTrZkyIC2OWYVChbYEtfWnE7zhxlYJ0roEvsj0F2I=",
    "tokenType": "email",
    "userId": "5a7550ad5cfa4f50bdc608da1831481b",
    "data": "bjensen@example.com",
    "eventId": "admin.user.password.reset.success",
    "status": 0,
    "id": "3e4b69e99ddf472989e089a904a3c1a7",
    "meta": {
        "created": "2022-07-13T07:28:59.227Z",
        "lastModified": "2022-07-13T07:28:59.227Z",
        "resourceType": "UserToken",
        "location": "$baseUri/UserTokens/{id}"
    },
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:UserToken"
    ],
    "idcsCreatedBy": {
        "value": "14171fc6031a417cac680cdb9d82c2ea",
        "display": "admin",
        "type": "OAuthClient",
        "$ref": "$baseUri/OAuthClient/{id}"
    },
    "idcsLastModifiedBy": {
        "value": "14171fc6031a417cac680cdb9d82c2ea",
        "display": "admin",
        "type": "OAuthClient",
        "$ref": "$baseUri/OAuthClient/{id}"
    }
}

Schritt 5: E-Mail-Adresse selbst verifizieren

In diesem Schritt wird gezeigt, wie Sie eine neue E-Mail-Adresse verifizieren, indem Sie eine POST-Anforderung über cURL in der REST-Ressource weiterleiten. Dieser Endpunkt validiert das Token und markiert die E-Mail-Adresse dann als verifiziert. Weitere Informationen zu cURL finden Sie unter cURL verwenden.

   curl
   -X POST
   -H "Content-Type:application/scim+json"
   -H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerified

Beispiel für den Anforderungstext

Der folgende Abschnitt enthält ein Beispiel für einen Anforderungstext im JSON-Format:

{
  "token": "YzQwYTc4NmE5YmEzNGU4MDg0YjFkY2FhZWRmNThlOTc6TEFGaWtuTXI5OjIwMTUtMDctMjRUMDI6Mjk6NDEuNzEwWg==",
  "schemas": [
    "urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerified"
  ]
}

Beispiel für den Antworttext

Das folgende Beispiel zeigt den Inhalt des Antworttextes im JSON-Format:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:oracle:idcs:extension:MeEmailVerified"
    ],
    "id": "5fed0efce51f40b4a42b0773a65178c3",
    "meta": {
        "resourceType": "MeEmailVerified",
        "location": "https://<domainURL>/admin/v1/MeEmailVerified/57044ca14d274d789a586e5ec77c26f3"
    }
}