電子メール・アドレスがすでに検証済の場合の電子メール検証の再送信

ユーザーが自己登録プロセスを使用してアイデンティティ・ドメインにアカウントを作成した後、ユーザーの電子メール・アドレスを検証するために電子メール通知がユーザーに送信されます。ユーザーが電子メール・アドレスを検証すると、その後に電子メール・アドレスを検証できなくなります。

ただし、アイデンティティ・ドメインでは、カスタム・クライアントが同じ電子メール・アドレスの電子メール・フローの変更を必要な回数再開始することもできます。この機能をサポートするには、MeEmailVerifierリクエスト・ペイロードでtriggerEmailVerificationFlowIfEmailAlreadyVerified属性にtrueを設定する必要があります。

電子メール・アドレスがすでに検証されている場合は、次のステップを実行します:

ステップ1: ユーザーの作成

このステップでは、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、ユーザーの作成方法を示します。cURLの詳細は、「cURLの使用」を参照してください

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

この例のコマンドでは、URL構造https://<domainURL>/resource-pathを使用します。<domainURL>はアイデンティティ・ドメインURLを表し、リソース・パスはアイデンティティ・ドメインAPIを表します。使用する適切なURL構造の詳細は、「リクエストの送信」を参照してください。

リクエスト本文の例

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

レスポンス本文の例

レスポンス本文の例を次に示します:

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

ステップ2: ユーザーの取得

このステップでは、cURLを使用してRESTリソースに対するGETリクエストを発行することによって、ユーザーのIDでユーザーを取得する方法を示しています。cURLの詳細は、「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>
ノート

この例のコマンドは、URL構造https://<domainURL>/resource-pathを使用します。ここで、<domainURL>はIdentity Service URLを表し、リソース・パスはIdentity Service APIを表します。使用する適切なURL構造の詳細は、「リクエストの送信」を参照してください。

レスポンス本文の例

次の例に、レスポンスボディーの内容を 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"
    }
}

ステップ3: セルフサービス電子メール検証の開始

このステップは、cURLを使用してRESTリソースに対するPUTリクエストを発行することによって、ユーザーのプライマリまたはリカバリ用の電子メール・アドレスのいずれかの電子メール検証を開始する方法を示しています。cURLの詳細は、「cURLの使用」を参照してください

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

リクエスト本文の例

JSON形式のリクエスト本文の例を次に示します:

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

レスポンス本文の例

次の例に、レスポンスボディーの内容を 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"
    }
}

ステップ4: ユーザー・トークンの取得

このステップでは、cURLを使用してRESTリソースに対するGETリクエストを発行することによって、そのIDを使用してユーザー・トークンを取得する方法を示しています。cURLの詳細は、「cURLの使用」を参照してください

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

レスポンス本文の例

次の例に、レスポンスボディーの内容を 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}"
    }
}

ステップ5: 電子メール・アドレスの自己検証

このステップでは、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、新しい電子メール・アドレスを検証する方法を示しています。このエンドポイントによってトークンが検証され、電子メール・アドレスが検証済とマークされます。cURLの詳細は、「cURLの使用」を参照してください

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

リクエスト本文の例

JSON形式のリクエスト本文の例を次に示します:

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

レスポンス本文の例

次の例に、レスポンスボディーの内容を JSON形式で示します。

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