From 68dc98a71bef4bdae1128a9196996608834089cb Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Thu, 11 Jan 2024 12:29:42 +0100 Subject: [PATCH 1/3] feat: add docs on sms sending --- docs/kratos/_static/mfa/11.png | Bin 0 -> 136944 bytes docs/kratos/emails-sms/10_sending-sms.mdx | 127 ++++++++++++++++++ docs/kratos/mfa/30_sms.mdx | 79 +++++++++++ .../flows/verify-email-account-activation.mdx | 18 ++- 4 files changed, 219 insertions(+), 5 deletions(-) create mode 100644 docs/kratos/_static/mfa/11.png create mode 100644 docs/kratos/emails-sms/10_sending-sms.mdx create mode 100644 docs/kratos/mfa/30_sms.mdx diff --git a/docs/kratos/_static/mfa/11.png b/docs/kratos/_static/mfa/11.png new file mode 100644 index 0000000000000000000000000000000000000000..c30defa4ba409f2afbc4b3fcfaa803d1530cbe7f GIT binary patch literal 136944 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%0D)Xo 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 q0w}8 + +``` + +1. Download the Ory Identities config from your project and save it to a file: + + ```shell + ## List all available projects + ory list projects + + ## Get config + ory get identity-config {project-id} --format yaml > identity-config.yaml + ``` + +2. Add the configuration for your custom SMTP server + + ```yaml title="config.yml" + courier: + channels: + - id: sms + type: http + request_config: + url: https://api.twilio.com/2010-04-01/Accounts/AXXXXXXXXXXXXXX/Messages.json # Adjust your account ID + method: POST + body: base64://ZnVuY3Rpb24oY3R4KSB7ClRvOiBjdHguUmVjaXBpZW50LApCb2R5OiBjdHguQm9keSwKfQ== # see below + headers: + Content-Type: application/x-www-form-urlencoded # defaults to application/json + auth: + type: basic_auth # or api_key + config: + user: AXXXXXXX # adjust your credentials + password: XXXX # adjust your credentials + ``` + +3. Update the Ory Identities configuration using the file you worked with: + + ```shell + ory update identity-config {project-id} --file updated_config.yaml + ``` + +### Body configuration + +The body of the above snippet decodes to the following Jsonnet template: + +```jsonnet +function(ctx) { + To: ctx.Recipient, + Body: ctx.Body, +} +``` + +All available fields on the `ctx` object are: + +- `Recipient`: The recipient's phone number +- `Body`: The message body +- `TemplateType`: The template type, e.g. `verification_code` +- `TemplateData`: The template data, e.g. `{ "VerificationCode": "1234", Idenity: { ... } }` +- `MessageType`: The message type, e.g. `sms` + +Read the [Jsonnet documentation](../../kratos/reference/jsonnet.mdx) to learn more about the Jsonnet templating language. + +```mdx-code-block + + +``` + +## Templates + +Currently, only the `verification_code` template supports an SMS variant. To configure it, use the CLI: + +```mdx-code-block + + +``` + +1. Download the Ory Identities config from your project and save it to a file: + + ```shell + ## List all available projects + ory list projects + + ## Get config + ory get identity-config {project-id} --format yaml > identity-config.yaml + ``` + +2. Add the configuration for your custom SMTP server + + ```yaml title="config.yml" + courier: + templates: + verification_code: + valid: + sms: + body: + plaintext: "Your verification code is: {{ .VerificationCode }}" + ``` + +3. Update the Ory Identities configuration using the file you worked with: + + ```shell + ory update identity-config {project-id} --file updated_config.yaml + ``` + +```mdx-code-block + + +``` diff --git a/docs/kratos/mfa/30_sms.mdx b/docs/kratos/mfa/30_sms.mdx new file mode 100644 index 000000000..3e2fd0960 --- /dev/null +++ b/docs/kratos/mfa/30_sms.mdx @@ -0,0 +1,79 @@ +--- +id: mfa-via-sms +title: Code via SMS +sidebar_label: SMS +--- + +```mdx-code-block +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BrowserWindow from "@site/src/theme/BrowserWindow" +``` + +SMS can be used to deliver one time codes to users. Ory will deliver a 6-digit code to an SMS gateway of your choice, such as +Twilio, Amazon SNS or your own application. These codes are valid for a short amount of time, usually 15 minutes or less. Once the +user completes the challenge, by entering the code, the AAL of the session is upgraded to AAL2. + +:::note + +Ory currently only supports either MFA via SMS or passwordless login via Code, not both. + +::: + +```mdx-code-block + + +![Recovery Codes generation in Ory Account Experience](../_static/mfa/11.png) + + +``` + +## Configuration + +To enable MFA via SMS, you need to configure an SMS channel in the Ory configuration: + +```mdx-code-block + + +``` + +1. Get the Ory Identities configuration from your project and save it to a file: + + ```shell + ## List all available projects + ory list projects + + ## Get config + ory get identity-config {project-id} --format yaml > identity-config.yaml + ``` + +2. Find `code` in `selfservice.methods` and set `mfa_enabled` to `true`: + + ```yaml title="identity-config.yaml" + code: + mfa_enabled: true + ``` + +3. Update the Ory Identities configuration using the file you worked with: + + ```shell + ory update identity-config {project-id} --file identity-config.yaml + ``` + +```mdx-code-block + + +``` + +## Integration + +To be able to send codes via SMS, you need to provide a custom SMS sender. Ory simply sends the code, the phone number and other +metadata to a webhook of your choice. Please read the [SMS documentation](../emails-sms/10_sending-sms.mdx). + +To start a new MFA flow, for an already existing session, create a new login flow with the `aal` parameter set to `aal2`. You'll +also need to specify which trait to use for delivering the code to the user. Make sure, this trait exists in the identity schema +and set the `via` parameter to its identifier. For example, if you have a trait called `phone_number`, you'd set `via` to +`phone_number`. + +Ory will return an error in the UI, if the trait does not exist in the identity's schema or the trait is empty in the current +identity. So make sure this trait is required in your identity schema. diff --git a/docs/kratos/self-service/flows/verify-email-account-activation.mdx b/docs/kratos/self-service/flows/verify-email-account-activation.mdx index ccad93461..da0196b68 100644 --- a/docs/kratos/self-service/flows/verify-email-account-activation.mdx +++ b/docs/kratos/self-service/flows/verify-email-account-activation.mdx @@ -14,9 +14,9 @@ import TabItem from "@theme/TabItem" import RenderFlow from "@theme/Code/RenderFlow" ``` -Ory allows users to verify email addresses associated with their accounts. This is important to prove that the user has access to -the address they used to create their account. If verification is enabled, Ory Identities starts the verification process -automatically when users sign up. Users can also verify their addresses manually. +Ory allows users to verify email addresses or phone numbers associated with their accounts. This is important to prove that the +user has access to the address they used to create their account. If verification is enabled, Ory Identities starts the +verification process automatically when users sign up. Users can also verify their addresses manually. The verification flow is supported in both browsers and API clients and can be summarized as the following state machine: @@ -49,7 +49,8 @@ stateDiagram :::caution Completing account verification doesn't guarantee that the account is used by the person who performed the verification. We -recommend implementing additional security mechanisms to ensure that verified accounts aren't taken over by malicious actors. +recommend implementing additional security mechanisms to ensure that verified accounts aren't taken over by malicious actors, such +as [TOTP](../../mfa/15_totp.mdx) or [FIDO2/WebAuthn](../../mfa/20_webauthn-fido-yubikey.mdx). ::: @@ -63,6 +64,13 @@ recommend implementing additional security mechanisms to ensure that verified ac To configure account verification, go to **Authentication** → **Email Verification** in the [Ory Console](https://console.ory.sh/projects/current/verification). +:::caution + +For SMS verification to work, you'll also need to configure a `courier_channel` with the ID set to `sms` via the CLI. See the +**Ory CLI** tab for more information. + +::: + ```mdx-code-block @@ -139,7 +147,7 @@ provides when registering their account. Other fields inside the `traits` sectio } }, + "verification": { -+ "via": "email" ++ "via": "email" # or sms if this is a phone number + } } } From 87891870a2eb2ec55250690b8715297e8efe5eee Mon Sep 17 00:00:00 2001 From: Jonas Hungershausen Date: Tue, 20 Feb 2024 11:33:17 +0100 Subject: [PATCH 2/3] chore: u --- docs/kratos/emails-sms/10_sending-sms.mdx | 25 +++++--- docs/kratos/mfa/30_sms.mdx | 2 +- .../flows/verify-email-account-activation.mdx | 63 +++++++++++++++++-- src/sidebar.js | 2 +- 4 files changed, 74 insertions(+), 18 deletions(-) diff --git a/docs/kratos/emails-sms/10_sending-sms.mdx b/docs/kratos/emails-sms/10_sending-sms.mdx index a7424875d..d51732728 100644 --- a/docs/kratos/emails-sms/10_sending-sms.mdx +++ b/docs/kratos/emails-sms/10_sending-sms.mdx @@ -42,7 +42,7 @@ The configuration can be done via the CLI only. Follow these steps: request_config: url: https://api.twilio.com/2010-04-01/Accounts/AXXXXXXXXXXXXXX/Messages.json # Adjust your account ID method: POST - body: base64://ZnVuY3Rpb24oY3R4KSB7ClRvOiBjdHguUmVjaXBpZW50LApCb2R5OiBjdHguQm9keSwKfQ== # see below + body: base64://ZnVuY3Rpb24oY3R4KSB7CiAgVG86IGN0eC5yZWNpcGllbnQsCiAgQm9keTogY3R4LmJvZHksCn0= # see below headers: Content-Type: application/x-www-form-urlencoded # defaults to application/json auth: @@ -64,18 +64,18 @@ The body of the above snippet decodes to the following Jsonnet template: ```jsonnet function(ctx) { - To: ctx.Recipient, - Body: ctx.Body, + To: ctx.recipient, + Body: ctx.body, } ``` All available fields on the `ctx` object are: -- `Recipient`: The recipient's phone number -- `Body`: The message body -- `TemplateType`: The template type, e.g. `verification_code` -- `TemplateData`: The template data, e.g. `{ "VerificationCode": "1234", Idenity: { ... } }` -- `MessageType`: The message type, e.g. `sms` +- `recipient`: The recipient's phone number +- `body`: The message body +- `template_type`: The template type, e.g. `verification_code` +- `template_data`: The template data, e.g. `{ "VerificationCode": "1234", Idenity: { ... } }` +- `message_type`: The message type, e.g. `sms` Read the [Jsonnet documentation](../../kratos/reference/jsonnet.mdx) to learn more about the Jsonnet templating language. @@ -86,7 +86,7 @@ Read the [Jsonnet documentation](../../kratos/reference/jsonnet.mdx) to learn mo ## Templates -Currently, only the `verification_code` template supports an SMS variant. To configure it, use the CLI: +Currently, only the `verification_code` and `login_code` templates support an SMS variant. To configure it, use the CLI: ```mdx-code-block @@ -112,7 +112,12 @@ Currently, only the `verification_code` template supports an SMS variant. To con valid: sms: body: - plaintext: "Your verification code is: {{ .VerificationCode }}" + plaintext: "base64://WW91ciB2ZXJpZmljYXRpb24gY29kZSBpczoge3sgLlZlcmlmaWNhdGlvbkNvZGUgfX0=" + login_code: + valid: + sms: + body: + plaintext: "base64://WW91ciBsb2dpbiBjb2RlIGlzOiB7eyAuTG9naW5Db2RlIH19" ``` 3. Update the Ory Identities configuration using the file you worked with: diff --git a/docs/kratos/mfa/30_sms.mdx b/docs/kratos/mfa/30_sms.mdx index 3e2fd0960..ae440535b 100644 --- a/docs/kratos/mfa/30_sms.mdx +++ b/docs/kratos/mfa/30_sms.mdx @@ -16,7 +16,7 @@ user completes the challenge, by entering the code, the AAL of the session is up :::note -Ory currently only supports either MFA via SMS or passwordless login via Code, not both. +Ory currently only supports either MFA via SMS or passwordless login via code, not both. ::: diff --git a/docs/kratos/self-service/flows/verify-email-account-activation.mdx b/docs/kratos/self-service/flows/verify-email-account-activation.mdx index da0196b68..f61ab6281 100644 --- a/docs/kratos/self-service/flows/verify-email-account-activation.mdx +++ b/docs/kratos/self-service/flows/verify-email-account-activation.mdx @@ -1,10 +1,10 @@ --- id: verify-email-account-activation -title: Verify email addresses associated with users accounts -sidebar_label: Email address verification +title: Verify addresses associated with users accounts +sidebar_label: Address verification --- -# Email address verification +# Address verification ```mdx-code-block import CodeTabs from "@theme/Code/CodeTabs" @@ -147,11 +147,11 @@ provides when registering their account. Other fields inside the `traits` sectio } }, + "verification": { -+ "via": "email" # or sms if this is a phone number ++ "via": "email" + } } } - } + }, "additionalProperties": false } } @@ -282,7 +282,7 @@ For more information see the [hooks configuration](../../hooks/01_configure-hook ### Carry over verified status from Social Sign-In Some Social Sign-In providers like Google return the verified status of the email address. To carry over the verified status from -the Social Sign-In provider, return `verified_addresses` in your Social Sign-In JsonNet snippet: +the Social Sign-In provider, return `verified_addresses` in your Social Sign-In Jsonnet snippet: ```jsonnet local claims = { @@ -337,6 +337,57 @@ email. If the verified address is not present in the identity's traits, the verified status is not carried over. +## Phone number verification + +To send SMS messages, you need to have a trait in your identity schema that holds the phone number. The trait must be marked as a +verifiable address via the `verification` extension. Here's an example of how to define such a trait in the identity schema: + +```json +{ + "$id": "https://schemas.ory.sh/presets/kratos/quickstart/phone-password/identity.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Person", + "type": "object", + "properties": { + "traits": { + "type": "object", + "properties": { + "email": { + "type": "string", + "title": "E-Mail", + "format": "email", + "ory.sh/kratos": { + "credentials": { + "password": { + "identifier": true + } + }, + "verification": { + "via": "email" + } + } + }, + "phone": { + "type": "string", + "title": "Phone number", + "format": "tel", + "ory.sh/kratos": { + // highlight-start + "verification": { + "via": "sms" + } + // highlight-end + } + } + }, + "additionalProperties": false + } + } +} +``` + +Make sure to configure an SMS channel in the Ory configuration. See the [SMS documentation](../../emails-sms/10_sending-sms.mdx). + ## Choosing the right strategy Ory supports two strategies for verifying your user's addresses. diff --git a/src/sidebar.js b/src/sidebar.js index aeb8844ee..26b49b372 100644 --- a/src/sidebar.js +++ b/src/sidebar.js @@ -160,7 +160,7 @@ module.exports = { }, { type: "category", - label: "Sending emails", + label: "Sending emails & SMS", items: [ { type: "autogenerated", From 2649f6aae49f095ca55313f94e7ad6a1e251629a Mon Sep 17 00:00:00 2001 From: Vincent Kraus Date: Tue, 20 Feb 2024 17:17:13 +0100 Subject: [PATCH 3/3] fix: text bugs --- docs/kratos/emails-sms/10_sending-sms.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/kratos/emails-sms/10_sending-sms.mdx b/docs/kratos/emails-sms/10_sending-sms.mdx index d51732728..4ae3f0008 100644 --- a/docs/kratos/emails-sms/10_sending-sms.mdx +++ b/docs/kratos/emails-sms/10_sending-sms.mdx @@ -10,19 +10,19 @@ import TabItem from "@theme/TabItem" import CodeBlock from "@theme/CodeBlock" ``` -The Ory Network comes with an HTTP based SMS delivery option, that can be configured to point to any service that supports sending -SMS via HTTP API, such as Twilio, Plivo, AWS SNS, or your own microservice. +Ory Network comes with an HTTP based SMS delivery option that can be configured to point to any service that supports sending SMS +via HTTP API, such as Twilio, Plivo, AWS SNS, or your own microservice. ## Configuration -The configuration can be done via the CLI only. Follow these steps: +SMS delivery can only be configured through the [Ory CLI](../../guides/cli/01_installation.mdx). Follow these steps: ```mdx-code-block ``` -1. Download the Ory Identities config from your project and save it to a file: +1. Download the [Ory Identities config](../../guides/cli/15_config-identity-service.mdx) from your project and save it to a file: ```shell ## List all available projects @@ -69,7 +69,7 @@ function(ctx) { } ``` -All available fields on the `ctx` object are: +Fields available on the `ctx` object are: - `recipient`: The recipient's phone number - `body`: The message body @@ -86,7 +86,7 @@ Read the [Jsonnet documentation](../../kratos/reference/jsonnet.mdx) to learn mo ## Templates -Currently, only the `verification_code` and `login_code` templates support an SMS variant. To configure it, use the CLI: +Only the `verification_code` and `login_code` templates support an SMS variant. Use the CLI to configure it: ```mdx-code-block