Renvoi des vérifications de courriel lorsque l'adresse électronique est déjà vérifiée
Une fois qu'un utilisateur a créé un compte dans un domaine d'identité à l'aide du processus d'auto-inscription, il reçoit une notification par courriel pour vérifier son adresse électronique. Une fois que les utilisateurs ont vérifié leurs adresses e-mail, ils ne peuvent plus les vérifier.
Toutefois, les domaines d'identité permettent également aux clients personnalisés de réinitialiser le flux de modification de courriel pour la même adresse autant de fois que nécessaire. Pour prendre en charge cette fonctionnalité, vous devez définir l'attribut triggerEmailVerificationFlowIfEmailAlreadyVerified
sur true
dans la charge utile de demande MeEmailVerifier
.
Pour déclencher le flux de vérification des e-mails, si une adresse e-mail est déjà vérifiée, procédez comme suit :
-
Etape 3 : Lancer la vérification des courriels en libre-service
-
Etape 5 : Vérification automatique de l'adresse électronique
Etape 1 : Créer un utilisateur
Cette étape explique comment créer un utilisateur en soumettant une demande POST sur la ressource REST à l'aide de cURL. Pour plus d'informations sur cURL, reportez-vous à Utilisation de 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é. Reportez-vous à Envoyer des demandes pour connaître la structure d'URL appropriée à utiliser.Exemple de corps de demande
L'exemple suivant illustre un 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 de corps de 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"
]
}
Etape 2 : Obtenir un utilisateur
Cette étape explique 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, reportez-vous à Utilisation de 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é. Reportez-vous à Envoyer des demandes pour connaître la structure d'URL appropriée à utiliser.Exemple de corps de réponse
L'exemple suivant illustre 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"
}
}
Etape 3 : Lancer la vérification des courriels en libre-service
Cette étape indique comment lancer la validation par courriel de l'adresse électronique 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, reportez-vous à 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 de demande
L'exemple suivant illustre un 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 illustre 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"
}
}
Etape 4 : obtention d'un jeton utilisateur
Cette étape explique comment extraire un jeton 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, reportez-vous à 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 illustre 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}"
}
}
Etape 5 : Vérification automatique de l'adresse électronique
Cette étape indique comment vérifier une nouvelle adresse électronique en soumettant une demande POST sur la ressource REST à l'aide de cURL. Cette adresse valide le jeton, puis marque l'adresse électronique comme vérifiée. Pour plus d'informations sur cURL, reportez-vous à Utilisation de cURL.
curl
-X POST
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerified
Exemple de corps de demande
L'exemple suivant illustre un 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 illustre 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"
}
}