Reenviando verificações de e-mail quando o endereço de e-mail já estiver verificado
Depois que um usuário cria uma conta em um domínio de identidades usando o processo de autorregistro, uma notificação de e-mail é enviada ao usuário para verificar o endereço do e-mail. Depois que os usuários verificam seus endereços de email, eles não podem mais verificar seus endereços de email depois disso.
No entanto, os domínios de identidade também permitem que os clientes personalizados reiniciem o fluxo de alteração de e-mail para o mesmo endereço de e-mail quantas vezes forem necessárias. Para suportar esse recurso, defina o atributo triggerEmailVerificationFlowIfEmailAlreadyVerified como true no payload de solicitação MeEmailVerifier.
Use as seguintes etapas para acionar o fluxo de verificação de e-mail, se um endereço de e-mail já tiver sido verificado:
Passo 1: Criar um Usuário
Esta etapa mostra como criar um usuário enviando uma solicitação POST no recurso REST usando o cURL. Para obter mais informações sobre a cURL, consulte Usar cURL.
curl
-X POST
-H "Content-Type:application/json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/Users
O comando neste exemplo usa a estrutura de URL
https://<domainURL>/resource-path, na qual <domainURL> representa o URL do domínio de identidades e o caminho do recurso representa a API do domínio de identidades. Consulte Enviar Solicitações para obter a estrutura de URL apropriada a ser usada.Exemplo de Corpo da Solicitação
Veja a seguir um exemplo de um corpo de solicitação no 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
}
]
}
Exemplo do Corpo de Resposta
A seguir, é mostrado um exemplo do corpo de resposta:
{
"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"
]
}
Etapa 2: Get a User
Esta etapa mostra como recuperar um usuário pelo ID do usuário enviando uma solicitação GET no recurso REST usando cURL. Para obter mais informações sobre a cURL, consulte Usar 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>
O comando neste exemplo usa a estrutura de URL
https://<domainURL>/resource-path, na qual <domainURL> representa o URL do Serviço de Identidade e o caminho do recurso representa a API do Serviço de Identidade. Consulte Enviar Solicitações para obter a estrutura de URL apropriada a ser usada.Exemplo do Corpo de Resposta
O exemplo a seguir mostra o conteúdo do corpo da resposta no 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"
}
}
Etapa 3: Iniciar Verificação de E-mail de Autoatendimento
Esta etapa mostra como iniciar a validação de e-mail do endereço de e-mail principal ou de recuperação do usuário enviando uma solicitação PUT no recurso REST usando cURL. Para obter mais informações sobre cURL, consulte Usando cURL.
curl
-X PUT
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerifier
Exemplo de Corpo da Solicitação
Veja a seguir um exemplo de um corpo de solicitação no formato JSON:
{
"email": "bjensen@example.com",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerifier"
],
"id": "ff9a9207fc8c4fd2b3d76af84235e8fd",
"userFlowControlledByExternalClient": true,
"triggerEmailVerificationFlowIfEmailAlreadyVerified": true
}
Exemplo do Corpo de Resposta
O exemplo a seguir mostra o conteúdo do corpo da resposta no 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"
}
}
Etapa 4: Obter um Token do Usuário
Esta etapa mostra como recuperar um token de usuário usando seu ID enviando uma solicitação GET no recurso REST usando cURL. Para obter mais informações sobre cURL, consulte Usando cURL.
curl
-X GET
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/UserTokens/{{usertokenid}}
Exemplo do Corpo de Resposta
O exemplo a seguir mostra o conteúdo do corpo da resposta no 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}"
}
}
Etapa 5: Endereço de E-mail para Auto-Verificação
Esta etapa mostra como verificar um novo endereço de e-mail enviando uma solicitação POST no recurso REST usando o cURL. Esse ponto final valida o token e, em seguida, marca o endereço de e-mail como verificado. Para obter mais informações sobre a cURL, consulte Usar cURL.
curl
-X POST
-H "Content-Type:application/scim+json"
-H "Authorization: Bearer <Access Token Value>"https://<domainURL>/admin/v1/MeEmailVerified
Exemplo de Corpo da Solicitação
Veja a seguir um exemplo de um corpo de solicitação no formato JSON:
{
"token": "YzQwYTc4NmE5YmEzNGU4MDg0YjFkY2FhZWRmNThlOTc6TEFGaWtuTXI5OjIwMTUtMDctMjRUMDI6Mjk6NDEuNzEwWg==",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:MeEmailVerified"
]
}
Exemplo do Corpo de Resposta
O exemplo a seguir mostra o conteúdo do corpo da resposta no formato JSON:
{
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:extension:MeEmailVerified"
],
"id": "5fed0efce51f40b4a42b0773a65178c3",
"meta": {
"resourceType": "MeEmailVerified",
"location": "https://<domainURL>/admin/v1/MeEmailVerified/57044ca14d274d789a586e5ec77c26f3"
}
}