Reenviando verificações de e-mail quando o endereço de e-mail já está verificado
Depois que um usuário cria uma conta em um domínio de identidades usando o processo de autorregistro, uma notificação por e-mail é enviada ao usuário para verificação do endereço de e-mail. Depois que os usuários verificam seus endereços de e-mail, eles não podem mais verificar seus endereços de e-mail depois disso.
No entanto, os domínios de identidade também permitem que 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:
Etapa 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 o 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 deste exemplo usa a estrutura de URL
https://<domainURL>/resource-path
, em que <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, um exemplo do corpo da 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: Obter um Usuário
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 o 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
, em que <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 o 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: Verificar Endereço de E-mail Automaticamente
Esta etapa mostra como verificar um novo endereço de e-mail enviando uma solicitação POST no recurso REST usando cURL. Este ponto final valida o token e marca o endereço de e-mail como verificado. Para obter mais informações sobre o 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"
}
}