Skip to content

Commit 7379723

Browse files
authored
chore: merge pull request #1300 from logto-io/rany-optimize-20051118
chore: optimize some docs
2 parents 908a21f + b95ebbb commit 7379723

File tree

4 files changed

+32
-24
lines changed

4 files changed

+32
-24
lines changed

docs/end-user-flows/one-time-token.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,6 @@ There are a number of possible scenarios:
228228
2. The user is already signed in, and then clicks a magic link that associates with a different account. In this case, Logto will prompt the user to continue as the new account, or go back to the application with the current account.
229229
1. If the user chooses to continue as the new account, Logto will switch to the new account after the token verification is successful.
230230
2. If the user chooses to stick to the current account, Logto will not verify the token and return to the application with the current account.
231-
3. If your sign-in prompt is set to "login" or contains "login", Logto will automatically sign-in the account associated with the one-time token without prompting switch.
231+
3. If your sign-in prompt is set to "login" or contains "login", Logto will automatically sign-in the account associated with the one-time token without prompting switch. This is because the "login" prompt indicates an explicit intent to authenticate, which takes precedence over the current session.
232232

233233
</details>

docs/end-user-flows/organization-experience/invite-organization-members.mdx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,15 @@ A sample email template for the `OrganizationInvitation` usage type is shown bel
5757

5858
```json
5959
{
60-
"subject": "Welcome to my organization",
61-
"content": "<p>Join {{organization.name}} by this <a href=\"{{link}}\" target=\"_blank\">link</a>.</p>",
60+
"subject": "You're invited to join {{organization.name}}",
61+
"content": "<p>Hi there,</p><p>{{inviter.name}} ({{inviter.primaryEmail}}) has invited you to join <strong>{{organization.name}}</strong>.</p><p>Click this <a href=\"{{link}}\" target=\"_blank\">link</a> to accept the invitation and get started.</p><p>If you weren't expecting this invitation, you can safely ignore this email.</p>",
6262
"usageType": "OrganizationInvitation",
6363
"type": "text/html"
6464
}
6565
```
6666

6767
The `{{link}}` placeholder in the email content will be replaced with the actual invitation link when the email is sent.
6868

69-
:::note
70-
71-
Logto Cloud’s built‑in “Logto email service” doesn’t currently support the `OrganizationInvitation` usage type. Configure your own email connector (e.g., SendGrid) and set up the `OrganizationInvitation` template instead.
72-
73-
:::
74-
7569
## Handle invitations with Logto Management API \{#handle-invitations-with-logto-management-api}
7670

7771
:::note
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ sidebar_position: 3
66

77
# Blocklist
88

9-
## Email blocklist {#email-blocklist}
9+
## Email blocklist \{#email-blocklist}
1010

1111
The email blocklist policy allows customization of email blocklist settings to prevent account sign-up abuse. It monitors email addresses used for sign-up and account settings. If a user attempts to sign up or link an email address that violates any blocklist rules, the system will reject the request, helping to mitigate spam accounts and enhance overall account security.
1212

1313
Visit the <CloudLink to="/security/blocklist"> Console > Security > Blocklist</CloudLink> to configure the email blocklist settings.
1414

15-
### Block disposable email addresses {#block-disposable-email-addresses}
15+
### Block disposable email addresses \{#block-disposable-email-addresses}
1616

1717
This is a **cloud-only** feature. Once enabled, the system will automatically validates the domain of the provided email address against a list of known disposable email domains. If the domain is found in the list, the request will be rejected. The list of disposable email domains is regularly updated to ensure its effectiveness.
1818

19-
### Block email subaddressing {#block-email-subaddressing}
19+
### Block email subaddressing \{#block-email-subaddressing}
2020

2121
Email subaddressing allows users to create variations of their email addresses by adding a plus sign (+) followed by additional characters (e.g., [email protected]). This feature can be exploited by malicious users to bypass blocklist restrictions. By enabling the block email subaddressing feature, the system will reject any sign-up or account linking attempts that utilize subaddressed email formats.
2222

23-
### Custom email blocklist {#custom-email-blocklist}
23+
### Custom email blocklist \{#custom-email-blocklist}
2424

2525
You can create a custom email blocklist by specifying a list of email addresses or domains to block. The system will reject any sign-up or account linking attempts that match these entries. The blocklist supports both full email address and domain matching.
2626

@@ -35,6 +35,8 @@ Disposable emails, subaddressing, and custom email are restricted during [new-us
3535

3636
:::
3737

38-
## Related resources {#related-resources}
38+
## Related resources \{#related-resources}
3939

40-
<Url href="https://blog.logto.io/disposable-email">What is disposable email? How to handle them in your app?</Url>
40+
<Url href="https://blog.logto.io/disposable-email">
41+
What is disposable email? How to handle them in your app?
42+
</Url>

docs/security/identifier-lockout.mdx

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ sidebar_position: 4
66

77
# Identifier lockout
88

9-
## Sentinel \{#sentinel}
9+
The identifier lockout policy allows you to customize your own sentinel policy settings to protect against brute force access. This policy works by monitoring authentication attempts for each identifier (such as usernames or email addresses) and implementing restrictions when suspicious activity is detected. If a user exceeds the allowed number of failed authentication attempts, the system temporarily locks the identifier, preventing further authentication attempts for a specified duration. This helps to mitigate brute-force attacks and enhances overall account security.
1010

11-
The identifier lockout policy allows you to customize your own sentinel policy settings to protect against account sign-in/sign-up abuse. This policy works by monitoring authentication attempts for each identifier (such as usernames or email addresses) and implementing restrictions when suspicious activity is detected. If a user exceeds the allowed number of failed authentication attempts, the system temporarily locks the identifier, preventing further authentication attempts for a specified duration. This helps to mitigate brute-force attacks and enhances overall account security.
12-
13-
Visit the <CloudLink to="/security/general"> Console > Security > General</CloudLink> to configure the identifier lockout settings.
14-
15-
## Applicaiton of the policy \{#applicaiton-of-the-policy}
16-
17-
The identifier lockout (sentinel) policy will be applied in the following user interaction flows:
11+
## Application of the policy \{#application-of-the-policy}
1812

1913
- **Identifier sign-in**: Password and verification code
2014
- **Identifier sign-up**: Email/phone verification code
2115
- **Reset password**: Email/phone verification code
2216

2317
## Policy settings \{#policy-settings}
2418

19+
By default, an identifier is locked for 60 minutes after 100 failed authentication attempts.
20+
21+
To customize the policy settings or manually unblock verified users, visit <CloudLink to="/security/general">Console > Security > General</CloudLink> and enable "Customize lockout experience".
22+
23+
Configure the following settings:
24+
2525
1. **Maximum failed attempts**:
2626

2727
- Limit the number of consecutive failed authentication attempts per identifier within an hour. If the limit is exceeded, the identifier will be temporarily locked out.
@@ -32,5 +32,17 @@ The identifier lockout (sentinel) policy will be applied in the following user i
3232
- Block all authentication attempts for the given identifier for a specified period after exceeding the maximum failed attempts.
3333
- **Default Value**: 60 minutes
3434

35-
3. **Manual unblock**:
35+
3. **Manual unblock**
36+
3637
- Administrators can manually unblock users by providing a list of identifiers that need to be released from the lockout. The given identifiers must be precisely matched with the identifiers being blocked.
38+
39+
## Lockout webhook \{#lockout-webhook}
40+
41+
When an identifier is locked due to exceeding the maximum failed attempts, Logto triggers the `Identifier.Lockout` webhook event, enabling automated responses to suspicious account activity.
42+
43+
**Common use cases:**
44+
45+
- Send security alerts to your team for immediate review
46+
- Notify users via SMS or push notification about the lockout and provide recovery instructions
47+
48+
Navigate to <CloudLink to="/webhooks">Console > Webhooks</CloudLink> to configure your webhook. For detailed event structure and configuration, see [Webhooks](/developers/webhooks).

0 commit comments

Comments
 (0)