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
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>
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"
}
}