Nuovo invio di verifiche e-mail quando l'indirizzo e-mail è già stato verificato

Dopo che un utente ha creato un account in un dominio di Identity utilizzando il processo di autoregistrazione, viene inviata una notifica di posta elettronica all'utente per verificare l'indirizzo di posta elettronica dell'utente. Dopo aver verificato gli indirizzi e-mail, gli utenti non potranno più verificare gli indirizzi e-mail.

Tuttavia, i domini di Identity consentono anche ai client personalizzati di riavviare il flusso di posta elettronica di modifica per lo stesso indirizzo di posta elettronica tutte le volte che è necessario. Per supportare questa funzionalità, è necessario impostare l'attributo triggerEmailVerificationFlowIfEmailAlreadyVerified su true nel payload richieste MeEmailVerifier.

Per attivare il flusso di verifica dei messaggi di posta elettronica, se un indirizzo di posta elettronica è già stato verificato, attenersi alla procedura riportata di seguito.

Passo 1: Creare un utente

Questo passo mostra come creare un utente sottomettendo una richiesta POST sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa cURL.

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

Il comando in questo esempio utilizza la struttura di URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del dominio di Identity e il percorso della risorsa rappresenta l'API del dominio di Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.

Esempio del corpo della richiesta

Di seguito è riportato un esempio di un corpo della richiesta in formato 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
        }
    ]
}

Esempio del corpo della risposta

Di seguito è riportato un esempio del corpo della risposta.

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

Passo 2: Ottenere un utente

Questo passo mostra come recuperare un utente in base all'ID dell'utente sottomettendo una richiesta GET sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Usa 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>
Nota

Il comando in questo esempio utilizza la struttura URL https://<domainURL>/resource-path, dove <domainURL> rappresenta l'URL del servizio Identity e il percorso della risorsa rappresenta l'API del servizio Identity. Per la struttura URL appropriata da utilizzare, vedere Invia richieste.

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato 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"
    }
}

Passo 3: avviare la verifica della posta elettronica self-service

Questo passo mostra come avviare la convalida dell'indirizzo di posta elettronica principale o di recupero dell'utente inviando una richiesta PUT sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Uso di cURL.

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

Esempio del corpo della richiesta

Di seguito è riportato un esempio di un corpo della richiesta in formato JSON.

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

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato 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"
    }
}

Passo 4: ottenere un token utente

Questo passo mostra come recuperare un token utente utilizzando il relativo ID sottomettendo una richiesta GET sulla risorsa REST utilizzando cURL. Per ulteriori informazioni su cURL, vedere Uso di cURL.

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

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato 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}"
    }
}

Passo 5: verifica automatica dell'indirizzo e-mail

Questo passo mostra come verificare un nuovo indirizzo e-mail inviando una richiesta POST sulla risorsa REST utilizzando cURL. Questo endpoint convalida il token, quindi contrassegna l'indirizzo di posta elettronica come verificato. Per ulteriori informazioni su cURL, vedere Usa cURL.

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

Esempio del corpo della richiesta

Di seguito è riportato un esempio di un corpo della richiesta in formato JSON.

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

Esempio del corpo della risposta

L'esempio seguente mostra il contenuto del corpo della risposta in formato JSON.

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