Renvoi des vérifications de courriel lorsque l'adresse de courriel est déjà vérifiée
Après qu'un utilisateur a créé un compte dans un domaine d'identité à l'aide du processus d'auto-inscription, un avis par courriel lui est envoyé pour vérifier son adresse de courriel. Une fois que les utilisateurs ont vérifié leur adresse de courriel, ils ne peuvent plus vérifier leur adresse de courriel.
Toutefois, les domaines d'identité permettent également aux clients personnalisés de relancer le flux de modification de courriel pour la même adresse de courriel autant de fois que nécessaire. Pour prendre en charge cette fonction, vous devez régler l'attribut triggerEmailVerificationFlowIfEmailAlreadyVerified
à true
dans les données utiles de la demande MeEmailVerifier
.
Utilisez les étapes suivantes pour déclencher le flux de vérification de courriel, si une adresse de courriel est déjà vérifiée :
Étape 1 : Créer un utilisateur
Cette étape montre comment créer un utilisateur en soumettant une demande POST sur la ressource REST à l'aide de cURL. Pour plus d'informations sur cURL, voir Utiliser cURL.
curl
-X POST
-H "Content-Type:application/json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Users
La commande de cet exemple utilise la structure d'URL
https://<domainURL>/resource-path
, où <domainURL>
représente l'URL du domaine d'identité et le chemin de ressource représente l'API du domaine d'identité. Voir Envoyer des demandes pour la structure d'URL appropriée à utiliser.Exemple de corps d'une demande
Voici un exemple de corps de demande au format JSON :
{
"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
}
]
}
Exemple de corps de réponse
Voici un exemple du corps de la réponse :
{
"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"
]
}
Étape 2 : Obtenir un utilisateur
Cette étape montre comment extraire un utilisateur en fonction de son ID en soumettant une demande GET sur la ressource REST à l'aide de cURL. Pour plus d'informations sur cURL, voir Utiliser cURL.
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>
La commande de cet exemple utilise la structure d'URL
https://<domainURL>/resource-path
, où <domainURL>
représente l'URL du service d'identité et le chemin de ressource représente l'API du service d'identité. Voir Envoyer des demandes pour la structure d'URL appropriée à utiliser.Exemple de corps de réponse
L'exemple suivant montre le contenu du corps de la réponse au format JSON :
{
"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"
}
}
Étape 3 : Lancer la vérification des courriels en libre-service
Cette étape montre comment lancer la validation par courriel de l'adresse de courriel principale ou de récupération de l'utilisateur en soumettant une demande PUT sur la ressource REST à l'aide de cURL. Pour plus d'informations sur cURL, voir Utilisation de cURL.
curl
-X PUT
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerifier
Exemple de corps d'une demande
Voici un exemple de corps de demande au format JSON :
{
"email": "bjensen@example.com",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerifier"
],
"id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
"userFlowControlledByExternalClient": true,
"triggerEmailVerificationFlowIfEmailAlreadyVerified": true
}
Exemple de corps de réponse
L'exemple suivant montre le contenu du corps de la réponse au format JSON :
{
"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"
}
}
Étape 4 : Obtenir un jeton utilisateur
Cette étape montre comment extraire un jeton d'utilisateur à l'aide de son ID en soumettant une demande GET sur la ressource REST à l'aide de cURL. Pour plus d'informations sur cURL, voir Utilisation de cURL.
curl
-X GET
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/UserTokens/{{usertokenid}}
Exemple de corps de réponse
L'exemple suivant montre le contenu du corps de la réponse au format JSON :
{
"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}"
}
}
Étape 5 : Adresse de courriel d'auto-vérification
Cette étape montre comment vérifier une nouvelle adresse de courriel en soumettant une demande POST sur la ressource REST à l'aide de cURL. Ce point d'extrémité valide le jeton, puis marque l'adresse de courriel comme vérifiée. Pour plus d'informations sur cURL, voir Utiliser cURL.
curl
-X POST
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerified
Exemple de corps d'une demande
Voici un exemple de corps de demande au format JSON :
{
"token": "YzQwYTc4NmE5YmEzNGU4MDg0YjFkY2FhZWRmNThlOTc6TEFGaWtuTXI5OjIwMTUtMDctMjRUMDI6Mjk6NDEuNzEwWg==",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerified"
]
}
Exemple de corps de réponse
L'exemple suivant montre le contenu du corps de la réponse au format JSON :
{
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:extension:MeEmailVerified"
],
"id": "5fed0efce51f40b4a42b0773a65178c3",
"meta": {
"resourceType": "MeEmailVerified",
"location": "https://<domainURL>/admin/v1/MeEmailVerified/57044ca14d274d789a586e5ec77c26f3"
}
}