@@ -21,28 +21,31 @@ Organisationen werden typischerweise erstellt, wenn:
Es gibt zwei Möglichkeiten, Organisationen für deine App zu erstellen.
-### Über die Logto Console erstellen \{#create-via-logto-console}
+### Erstellung über Logto Console \{#create-via-logto-console}
Erstelle Organisationen manuell in der Logto Console UI. Gehe zu
+
## Wie wird es implementiert \{#how-to-implement-it}
Es gibt zwei Möglichkeiten, Benutzerinformationen innerhalb einer Organisation abzurufen.
-### 1. Den ID-Token dekodieren \{#1-decode-the-id-token}
+### ID-Token entschlüsseln \{#decode-the-id-token}
-Der ID-Token (ID token) ist ein standardisierter JWT, der Benutzerprofilinformationen und organisationsbezogene Ansprüche (Claims) enthält. Rufe die SDK-Methode `decodeIdToken()` auf, um ein JSON-Objekt wie dieses zu erhalten:
+Das ID-Token (ID token) ist ein standardisiertes JWT, das Benutzerprofilinformationen und organisationsbezogene Ansprüche (Claims) enthält. Rufe die SDK-Methode `decodeIdToken()` auf, um ein JSON-Objekt wie dieses zu erhalten:
```json
{
@@ -42,8 +42,8 @@ Der ID-Token (ID token) ist ein standardisierter JWT, der Benutzerprofilinformat
}
```
-Der ID-Token (ID token) wird jedoch nur während der Authentifizierung ausgestellt und kann veraltet sein, wenn sich das Benutzerprofil danach ändert.
-Für die aktuellsten Informationen verwende die zweite Methode unten oder rufe `clearAllTokens()` auf und starte einen Authentifizierungsfluss neu, um einen frischen ID-Token (ID token) zu erhalten.
+Das ID-Token (ID token) wird jedoch nur während der Authentifizierung ausgegeben und kann veraltet sein, wenn sich das Benutzerprofil danach ändert.
+Für die aktuellsten Informationen verwende die zweite Methode unten oder rufe `clearAllTokens()` auf und starte einen Authentifizierungsablauf neu, um ein frisches ID-Token (ID token) zu erhalten.
```ts
await logtoClient.clearAllTokens();
@@ -53,8 +53,8 @@ logtoClient.signIn({
});
```
-Wenn die Sitzung noch gültig ist, wird der `signIn`-Aufruf ohne erneute Eingabe von Zugangsdaten zurück zu deiner App umleiten. Aus Sicht des Benutzers wird die App einfach aktualisiert und ein neuer ID-Token (ID token) wird im Hintergrund ausgestellt.
+Wenn die Sitzung noch gültig ist, leitet der `signIn`-Aufruf ohne erneute Eingabe von Zugangsdaten zurück zu deiner App. Aus Sicht des Benutzers wird die App einfach aktualisiert und im Hintergrund ein neues ID-Token (ID token) ausgegeben.
-### 2. Benutzerinformationen vom `/oidc/me`-Endpunkt abrufen \{#2-fetch-user-info-from-the-oidc-me-endpoint}
+### Benutzerinformationen vom `/oidc/me`-Endpunkt abrufen \{#fetch-user-info-from-the-oidc-me-endpoint}
Du kannst auch `/oidc/me` anfragen, um Benutzerinformationen in Echtzeit im Organisationskontext zu erhalten. Rufe dazu die SDK-Methode `fetchUserInfo()` auf.
diff --git a/i18n/de/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx b/i18n/de/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
index c95503edab5..d1b71857800 100644
--- a/i18n/de/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
+++ b/i18n/de/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
@@ -4,7 +4,7 @@ sidebar_position: 6
# Organisationsmitglieder einladen
-In Multi-Organisations-Anwendungen ist es eine häufige Anforderung, Mitglieder zu einer Organisation einzuladen. Diese Anleitung führt durch die Schritte und technischen Details zur Implementierung dieser Funktion.
+In Multi-Tenancy-Anwendungen ist es eine häufige Anforderung, Mitglieder zu einer Organisation einzuladen. Diese Anleitung führt durch die Schritte und technischen Details zur Implementierung dieser Funktion.
## Ablaufübersicht \{#flow-overview}
@@ -17,21 +17,21 @@ sequenceDiagram
Participant C as Deine Multi-Organisations-App
Participant L as Logto
- A ->> C: Eingabe der E-Mail-Adresse und Rolle des Eingeladenen
+ A ->> C: E-Mail und Rolle des Eingeladenen eingeben
C ->> L: Organisationseinladung mit Management API erstellen
- L -->> C: Rückgabe der Einladungs-ID
- C ->> C: Einladungslink mit Einladungs-ID erstellen
+ L -->> C: Einladung-ID zurückgeben
+ C ->> C: Einladungslink mit Einladung-ID erstellen
C ->> L: Anfordern des Versands der Einladungsemail mit Einladungslink
- L -->> U: Versand der Einladungsemail mit Einladungslink
- U ->> C: Klick auf den Einladungslink und Weiterleitung zu deiner Landingpage,
+
-2. **Erhalte ein M2M Zugangstoken** von Logto. [Mehr erfahren](/integrate-logto/interact-with-management-api#fetch-an-access-token).
-3. **Rufe Logto Management APIs** von deinem Backend-Service auf. Zum Beispiel, um alle Organisationen aufzulisten:
+2. **Erhalte ein M2M Zugangstoken** (access token) von Logto. [Mehr erfahren](/integrate-logto/interact-with-management-api#fetch-an-access-token).
+3. **Rufe Logto Management APIs** von deinem Backend-Service aus auf. Zum Beispiel, um alle Organisationen aufzulisten:
```bash
curl \
@@ -31,17 +32,17 @@ curl \
## Schütze deinen App-Server \{#protect-your-app-server}
-Da Endbenutzer bestimmte Organisationsoperationen selbstständig durchführen können, füge eine Autorisierungsschicht zwischen dem Endbenutzer und deinem App-Server hinzu. Der Server sollte jede Anfrage vermitteln, das organisationsbezogene Token des Benutzers und die erforderlichen Berechtigungen validieren und erst dann ein serverseitig gehaltenes M2M-Zertifikat verwenden, um die Management API aufzurufen.
+Da Endbenutzer bestimmte Organisationsaktionen selbst durchführen können, ist es wichtig, eine Autorisierungsschicht zwischen dem Endbenutzer und deinem App-Server einzufügen. Du kannst diese Schicht global oder auf Organisationsebene anwenden, abhängig davon, welche Logto Management API-Endpunkte du verwendest und wie die API deines Produkts strukturiert ist. Der Server sollte jede Anfrage vermitteln, das organisationsbezogene Token des Benutzers und die erforderlichen Berechtigungen (scopes) validieren und erst dann mit einem serverseitig gehaltenen M2M-Zugang die Management API aufrufen.
-Wenn ein Benutzer ein Organisationstoken präsentiert, um eine Aktion anzufordern (zum Beispiel das Erstellen einer Organisation), validiert der Server zuerst die Berechtigungen im Token. Wenn das Token die notwendige Berechtigung wie `org:create` enthält, autorisiere die Anfrage und rufe die Logto Management API über den M2M-Flow auf, um die Organisation zu erstellen.
+Wenn ein Benutzer ein Organisationstoken (organization token) vorlegt, um eine Aktion anzufordern (zum Beispiel das Erstellen einer Organisation), validiert der Server zuerst die Berechtigungen (scopes) im Token. Wenn das Token die erforderliche Berechtigung wie `org:create` enthält, autorisiere die Anfrage und rufe die Logto Management API über den M2M-Flow auf, um die Organisation zu erstellen.
-Enthält das Token nicht die erforderlichen Berechtigungen, gib einen 403 Forbidden zurück und überspringe die M2M-Logik. So wird sichergestellt, dass Benutzer ohne entsprechende Privilegien keine Organisationen erstellen können.
+Enthält das Token nicht die erforderlichen Berechtigungen, gib einen 403 Forbidden zurück und überspringe die M2M-Logik. So wird sichergestellt, dass Benutzer ohne die entsprechenden Privilegien keine Organisationen erstellen können.
Nachfolgend findest du gängige Autorisierungsmuster.
### Verwendung von Organisationsberechtigungen \{#using-organization-permissions}
-Stelle zunächst sicher, dass du Organisationsberechtigungen und Rollen in deiner Organisationstemplate im [vorherigen Abschnitt](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations) definiert hast.
+Stelle zunächst sicher, dass du Organisationsberechtigungen (organization permissions) und Rollen (roles) in deiner Organisationstemplate im [vorherigen Abschnitt](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations) definiert hast.
Stelle dann sicher, dass `UserScope.Organizations` (Wert: `urn:logto:organization`) in der Logto-Konfiguration enthalten ist. Am Beispiel des React SDK:
@@ -53,7 +54,7 @@ const config = {
endpoint: 'https://
+
2. **Adquirir un token de acceso M2M** de Logto. [Aprende más](/integrate-logto/interact-with-management-api#fetch-an-access-token).
3. **Llamar a las Management APIs de Logto** desde tu servicio backend. Por ejemplo, listar todas las organizaciones:
@@ -29,9 +30,9 @@ curl \
-H "Content-Type: application/json"
```
-## Protege el servidor de tu aplicación \{#protect-your-app-server}
+## Protege tu servidor de aplicaciones \{#protect-your-app-server}
-Debido a que los usuarios finales pueden realizar ciertas operaciones de organización por sí mismos, añade una capa de autorización entre el usuario final y el servidor de tu aplicación. El servidor debe mediar cada solicitud, validar el token de organización del usuario y los alcances requeridos, y solo entonces utilizar una credencial M2M mantenida en el servidor para invocar la Management API.
+Dado que los usuarios finales pueden realizar ciertas acciones de organización por sí mismos, es importante añadir una capa de autorización entre el usuario final y tu servidor de aplicaciones. Puedes aplicar esta capa globalmente o a nivel de organización, dependiendo de qué endpoints de la Management API de Logto utilices y cómo esté estructurada la API de tu producto. El servidor debe mediar cada solicitud, validar el token de organización del usuario y los alcances requeridos, y solo entonces usar una credencial M2M mantenida en el servidor para invocar la Management API.
Cuando un usuario presenta un token de organización para solicitar una acción (por ejemplo, crear una organización), el servidor primero valida los alcances en el token. Si el token incluye el alcance necesario, como `org:create`, autoriza la solicitud y llama a la Management API de Logto mediante el flujo M2M para crear la organización.
@@ -43,7 +44,7 @@ A continuación se muestran patrones comunes de autorización.
Primero, asegúrate de haber definido permisos y roles de organización en tu plantilla de organización en [la sección anterior](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations).
-Luego, asegúrate de que `UserScope.Organizations` (valor: `urn:logto:organization`) esté incluido en la configuración de Logto. Toma como ejemplo el SDK de React:
+Luego, asegúrate de que `UserScope.Organizations` (valor: `urn:logto:organization`) esté incluido en la configuración de Logto. Tomando el SDK de React como ejemplo:
```jsx
// src/App.js
@@ -69,12 +70,22 @@ const config = {
Esto asegura que al llamar a `getOrganizationToken(organizationId)`, el SDK del cliente solicite un token de organización que contenga los permisos de organización asignados al usuario. Tu servicio backend puede entonces validar el token y autorizar solicitudes posteriores basándose en estos permisos.
-Para más detalles sobre cómo proteger permisos a nivel de organización (no de API), consulta la [guía completa](/authorization/organization-permissions).
+Para detalles sobre cómo proteger permisos de organización (no de API), consulta la [guía completa](/authorization/organization-permissions).
-### Mezclando permisos a nivel de organización y permisos a nivel de API \{#mixing-organization-level-permissions-and-api-level-permissions}
+### Usando permisos a nivel de API \{#using-api-level-permissions}
-Esto aplica cuando tus recursos y permisos de API están registrados globalmente, pero los roles se definen a nivel de organización (puedes asignar permisos de API a roles de organización en la plantilla de organización).
+Esto aplica cuando tus recursos de API y permisos están registrados globalmente, pero los roles se definen a nivel de organización (puedes asignar permisos a nivel de API a roles de organización en la plantilla de organización).
La implementación es la misma que en la sección anterior. Siempre proporciona el ID de la organización y llama a `getOrganizationToken(organizationId)` para obtener un token de organización; de lo contrario, los permisos de organización no se incluirán.
-Para más detalles sobre cómo proteger permisos de API a nivel de organización, consulta la [guía completa](/authorization/organization-level-api-resources).
+Para detalles sobre cómo proteger permisos de API a nivel de organización, consulta la [guía completa](/authorization/organization-level-api-resources).
+
+### Usando RBAC global \{#using-global-rbac}
+
+En este caso, puedes usar la Management API de Logto para implementar el control de acceso a nivel de sistema.
+
+En un entorno multi-tenant, un patrón común es tener un rol de superusuario o super admin. Por ejemplo, si estás construyendo una plataforma SaaS con Logto, podrías querer un superusuario que pueda gestionar todas las organizaciones de clientes directamente dentro de tu propia aplicación, sin necesidad de iniciar sesión en la Consola de Logto.
+
+Este superusuario puede realizar acciones de alto nivel, como crear o eliminar organizaciones en masa, que requieren permisos a nivel de sistema más allá del contexto de cualquier organización individual. Para habilitar esto, registra un recurso de API en Logto mientras aprovechas la Management API de Logto y usa RBAC global para gestionar estos permisos.
+
+Para más detalles sobre cómo integrar y gestionar el control de acceso para RBAC, consulta la [guía completa](/authorization/global-api-resources).
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
index 25d69fd3f7f..a70f0c3b0b6 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
@@ -4,7 +4,7 @@ sidebar_position: 3
# Créer une organisation
-Imaginez que vous construisez une [application multi-locataire](https://auth.wiki/multi-tenancy) (par exemple, une application SaaS multi-locataire) qui dessert de nombreux clients, et chaque client possède un locataire dédié.
+Imaginez que vous construisez une [application multi-locataire](https://auth.wiki/multi-tenancy) (par exemple, une application SaaS multi-locataire) qui sert de nombreux clients, et chaque client possède un locataire dédié.
Les organisations sont généralement créées lorsque :
@@ -29,20 +29,23 @@ Créez un [modèle d'organisation](/authorization/organization-template) pour cr
### Créer via l’API de gestion Logto \{#create-via-logto-management-api}
-La Console est idéale pour la configuration manuelle, mais la plupart des applications permettent aux utilisateurs finaux d'être autonomes—créer et gérer des organisations directement dans votre application. Pour cela, implémentez ces fonctionnalités avec la Management API Logto.
+La console est idéale pour la configuration manuelle, mais la plupart des applications permettent aux utilisateurs finaux de s’auto-gérer—créer et gérer des organisations directement dans votre application. Pour cela, implémentez ces fonctionnalités avec l’API de gestion Logto.
:::note
-Si vous débutez avec la Management API Logto, lisez d'abord ceci :
+Si vous débutez avec l’API de gestion Logto ou si vous n’avez pas lu l’introduction de base à l’utilisation de l’API de gestion Logto pour l’expérience organisationnelle, lisez d’abord ceci :
+
@@ -14,7 +14,7 @@ Ceci est généralement utilisé dans la page de profil utilisateur où les util
Il existe deux façons d'obtenir les informations utilisateur au sein d'une organisation.
-### 1. Décoder le jeton d’identifiant (ID token) \{#1-decode-the-id-token}
+### Décoder le jeton d’identifiant (ID token) \{#decode-the-id-token}
Le jeton d’identifiant (ID token) est un JWT standard qui contient les informations de profil utilisateur et les revendications liées à l’organisation. Appelez la méthode SDK `decodeIdToken()` pour obtenir un objet JSON comme celui-ci :
@@ -43,7 +43,7 @@ Le jeton d’identifiant (ID token) est un JWT standard qui contient les informa
```
Cependant, le jeton d’identifiant (ID token) n’est émis que lors de l’authentification et peut devenir obsolète si le profil utilisateur change par la suite.
-Pour obtenir les informations les plus à jour, utilisez la seconde méthode ci-dessous, ou appelez `clearAllTokens()` et réinitialisez un flux d’authentification pour obtenir un nouveau jeton d’identifiant (ID token).
+Pour obtenir les informations les plus à jour, utilisez la seconde approche ci-dessous, ou appelez `clearAllTokens()` et réinitialisez un flux d’authentification pour obtenir un nouveau jeton d’identifiant (ID token).
```ts
await logtoClient.clearAllTokens();
@@ -53,8 +53,8 @@ logtoClient.signIn({
});
```
-Si la session est toujours valide, l’appel à `signIn` redirigera vers votre application sans demander d’identifiants. Du point de vue de l’utilisateur, l’application se rafraîchit simplement et un nouveau jeton d’identifiant (ID token) est émis en arrière-plan.
+Si la session est toujours valide, l’appel à `signIn` redirigera vers votre application sans demander de nouvelles informations d’identification. Du point de vue de l’utilisateur, l’application se rafraîchit simplement et un nouveau jeton d’identifiant (ID token) est émis en arrière-plan.
-### 2. Récupérer les informations utilisateur depuis l’endpoint `/oidc/me` \{#2-fetch-user-info-from-the-oidc-me-endpoint}
+### Récupérer les informations utilisateur depuis l’endpoint `/oidc/me` \{#fetch-user-info-from-the-oidc-me-endpoint}
-Vous pouvez également faire une requête vers `/oidc/me` pour obtenir en temps réel les informations utilisateur dans le contexte de l’organisation. Appelez la méthode SDK `fetchUserInfo()`.
+Vous pouvez également interroger `/oidc/me` pour obtenir en temps réel les informations utilisateur dans le contexte de l’organisation. Appelez la méthode SDK `fetchUserInfo()`.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
index 80803051fc6..9f1042794d4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
@@ -4,7 +4,7 @@ sidebar_position: 6
# Inviter des membres à une organisation
-Dans les applications multi-organisations, il est courant de devoir inviter des membres dans une organisation. Ce guide détaille les étapes et les aspects techniques pour mettre en œuvre cette fonctionnalité.
+Dans les applications multi‑tenantes, il est courant de devoir inviter des membres dans une organisation. Ce guide détaille les étapes et les aspects techniques pour mettre en œuvre cette fonctionnalité.
## Vue d’ensemble du flux \{#flow-overview}
@@ -14,7 +14,7 @@ Le processus global est illustré dans le diagramme ci-dessous :
sequenceDiagram
Participant U as Utilisateur final
Participant A as Administrateur d’organisation
- Participant C as Votre application multi-organisation
+ Participant C as Votre application multi‑organisation
Participant L as Logto
A ->> C: Saisir l’e-mail de l’invité et le rôle
@@ -23,13 +23,13 @@ sequenceDiagram
C ->> C: Composer le lien d’invitation avec l’ID de l’invitation
C ->> L: Demander l’envoi de l’e-mail d’invitation avec le lien d’invitation
L -->> U: Envoyer l’e-mail d’invitation avec le lien d’invitation
- U ->> C: Cliquer sur le lien d’invitation et accéder à votre page d’atterrissage,
-## Utiliser le Management API Logto pour permettre aux utilisateurs de rejoindre une organisation \{#use-the-logto-management-api-to-let-users-join-an-organization}
+## Utiliser l’API de gestion Logto pour permettre aux utilisateurs de rejoindre une organisation \{#use-the-logto-management-api-to-let-users-join-an-organization}
-Dans la section précédente, nous avons abordé la création et l’envoi d’invitations à une organisation à l’aide du Management API Logto.
-Ensuite, implémentez une page d’atterrissage qui gère le lien d’invitation lorsque les invités arrivent sur votre application.
+Dans la section précédente, nous avons vu comment créer et envoyer des invitations à une organisation en utilisant l’API de gestion Logto.
+Ensuite, implémentez une page d’atterrissage qui gère le lien d’invitation lorsque les invités arrivent dans votre application.
-- `GET /api/organization-invitations` et `GET /api/organization-invitations/{id}` : Obtenez toutes les invitations ou une invitation spécifique par ID.
+- `GET /api/organization-invitations` et `GET /api/organization-invitations/{id}` : Récupérez toutes les invitations ou une invitation spécifique par ID.
Sur votre page d’atterrissage, utilisez ces API pour lister toutes les invitations ou afficher les détails d’une invitation spécifique reçue par l’utilisateur.
- `PUT /api/organization-invitations/{id}/status` : Acceptez ou refusez l’invitation en mettant à jour son statut.
Utilisez cette API pour gérer la réponse de l’utilisateur.
diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
index 1fdc7920a80..76cf83203e4 100644
--- a/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
+++ b/i18n/fr/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
@@ -2,39 +2,46 @@
sidebar_position: 8
---
-# Gestion des permissions et des ressources
+# Gérer les mises à jour de portée dans les jetons d’organisation
-Utilisez l'organisation comme ressource et appliquez un modèle d'organisation pour la protéger. Par exemple, chaque organisation possède ses propres documents au sein d'un tenant. Seuls les utilisateurs ayant les bons rôles peuvent modifier ou supprimer ces documents.
+Avec la configuration ci-dessus, vous pouvez envoyer des invitations par e-mail, et les invités peuvent rejoindre l’organisation avec le rôle attribué.
-Voir [Permissions d’organisation](/authorization/organization-permissions) pour plus de détails.
+Les utilisateurs ayant différents rôles d’organisation auront différentes portées (permissions) dans leurs jetons d’organisation. Votre application cliente et vos services backend doivent vérifier ces portées pour déterminer les fonctionnalités visibles et les actions autorisées.
-## Utiliser le contrôle d’accès basé sur les rôles (RBAC) d’organisation pour gérer les permissions des utilisateurs \{#use-organization-role-based-access-control-rbac-to-manage-user-permissions}
+Comme mentionné précédemment, le modèle d’organisation sert de couche clé de contrôle d’accès pour protéger les [permissions d’organisation](/authorization/organization-permissions) ou les [API de niveau organisation](/authorization/organization-level-api-resources). Veillez à consulter les sections sur l’autorisation et à choisir le modèle d’autorisation le mieux adapté à votre produit.
-Avec la configuration ci-dessus, vous pouvez envoyer des invitations par e-mail, et les invités peuvent rejoindre l'organisation avec le rôle attribué.
+:::note
-Les utilisateurs ayant des rôles différents dans l'organisation auront différentes portées (permissions) dans leurs jetons d’organisation. Votre application cliente et vos services backend doivent vérifier ces portées pour déterminer les fonctionnalités visibles et les actions autorisées.
+
@@ -31,13 +32,14 @@ curl \
## Protégez votre serveur d’application \{#protect-your-app-server}
-Parce que les utilisateurs finaux peuvent effectuer certaines opérations d’organisation en libre-service, ajoutez une couche d’autorisation entre l’utilisateur final et votre serveur d’application. Le serveur doit intercepter chaque requête, valider le jeton d’organisation de l’utilisateur et les portées requises, puis seulement utiliser un identifiant M2M détenu côté serveur pour invoquer l’API de gestion.
+Puisque les utilisateurs finaux peuvent effectuer certaines actions sur l’organisation par eux-mêmes, il est important d’ajouter une couche d’autorisation (Authorization) entre l’utilisateur final et votre serveur d’application.\
+Vous pouvez appliquer cette couche globalement ou au niveau de l’organisation, selon les points de terminaison de l’API de gestion Logto que vous utilisez et la structure de l’API de votre produit. Le serveur doit intercepter chaque requête, valider le jeton d’organisation de l’utilisateur et les portées requises, puis seulement utiliser un identifiant M2M détenu côté serveur pour invoquer l’API de gestion.
Lorsqu’un utilisateur présente un jeton d’organisation pour demander une action (par exemple, créer une organisation), le serveur valide d’abord les portées dans le jeton. Si le jeton inclut la portée nécessaire, telle que `org:create`, autorisez la requête et appelez l’API de gestion Logto via le flux M2M pour créer l’organisation.
-Si le jeton ne contient pas les portées requises, retournez un 403 Forbidden et ignorez la logique M2M. Cela garantit que les utilisateurs sans les privilèges appropriés ne peuvent pas créer d’organisations.
+Si le jeton ne contient pas les portées requises, retournez une erreur 403 Forbidden et ignorez la logique M2M. Cela garantit que les utilisateurs sans les privilèges appropriés ne peuvent pas créer d’organisations.
-Voici des schémas courants d’autorisation.
+Voici des schémas d’autorisation courants.
### Utilisation des permissions d’organisation \{#using-organization-permissions}
@@ -51,9 +53,9 @@ import { UserScope } from '@logto/react';
const config = {
endpoint: 'https://
@@ -18,27 +18,30 @@ sidebar_position: 3
アプリで組織 (Organization) を作成する方法は 2 つあります。
-### Logto Console から作成 \{#create-via-logto-console}
+### Logto コンソールから作成 \{#create-via-logto-console}
-Logto Console の UI で手動で組織 (Organization) を作成します。この リンク から {{organization.name}} に参加してください。
", + "content": "Join {{organization.name}} by this link.
", "usageType": "OrganizationInvitation", "type": "text/html" } @@ -68,7 +68,7 @@ sequenceDiagram :::note -Logto Cloud の組み込み「Logto メールサービス」は現在 `OrganizationInvitation` 使用タイプをサポートしていません。独自のメールコネクター(例:SendGrid)を設定し、`OrganizationInvitation` テンプレートを用意してください。 +Logto Cloud の組み込み「Logto email service」では、現在 `OrganizationInvitation` 使用タイプはサポートされていません。独自のメールコネクター(例:SendGrid)を設定し、`OrganizationInvitation` テンプレートを用意してください。 ::: @@ -82,15 +82,20 @@ Logto Management API のセットアップがまだの場合は、[Management AP ### Logto Management API で組織招待を作成する \{#create-an-organization-invitation-with-logto-management-api} -組織機能には招待関連の Management API が用意されています。これらの API で次のことが可能です: +組織機能には招待関連の Management API が用意されています。これらの API で次のことができます: -- `POST /api/organization-invitations`: 割り当てた組織ロールで組織招待を作成 +- `POST /api/organization-invitations`: 組織ロールを割り当てて組織招待を作成 - `POST /api/one-time-tokens`: 招待を承諾する際に招待者が認証するためのワンタイムトークンを作成 [詳細はこちら](/end-user-flows/one-time-token) - `POST /api/organization-invitations/{id}/message`: 組織招待をメールで招待者に送信 - 注意:ペイロードは `link` プロパティをサポートしているため、招待 ID をもとに独自の招待リンクを作成できます。例: - ```json - { - "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email" - } - ``` +:::note + +ペイロードは `link` プロパティをサポートしているため、招待 ID をもとに独自の招待リンクを作成できます。例: + +::: + +```json +{ + "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email" +} +``` diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx index 3437f5c492f..a77e36ba55d 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx +++ b/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx @@ -2,31 +2,33 @@ sidebar_position: 7 --- -# 組織への参加 +# 組織 (Organization) への参加 ## 利用シーン \{#where-to-use-it} -組織リストは、通常ユーザーのオンボーディングフロー中に表示されます。例えば、管理者からワークスペースへの招待を受けた場合などです。 +組織 (Organization) 一覧や参加フローは、通常ユーザーのオンボーディング時に表示されます。 +例えば、管理者が誰かをワークスペースに招待したものの、そのユーザーがメール招待をスキップしてアプリで直接サインインまたはサインアップした場合などです。 -プロダクトの観点では、主に次の 2 つの場所で表示されます: +プロダクト内で、このフローへの導線を追加したい場合があります。 +主に次の 2 つの場所で表示できます: -- サインインまたはサインアップ時の **組織ファインダー** +- サインインまたはサインアップ時の **組織 (Organization) ファインダー**
-- アプリケーション内の **組織スイッチャー**
+- アプリケーション内の **組織 (Organization) スイッチャー**
-
+
-## Logto Management API を使ってユーザーが組織に参加できるようにする \{#use-the-logto-management-api-to-let-users-join-an-organization}
+## Logto Management API を使ってユーザーが組織 (Organization) に参加できるようにする \{#use-the-logto-management-api-to-let-users-join-an-organization}
-前のセクションでは、Logto Management API を使って組織の招待を作成し送信する方法を説明しました。
-次に、招待されたユーザーがアプリケーションにアクセスした際に、招待リンクを処理するランディングページを実装します。
+前のセクションでは、Logto Management API を使って組織 (Organization) 招待を作成し送信する方法を説明しました。
+次に、招待されたユーザーがアプリケーションに到着した際に招待リンクを処理するランディングページを実装します。
- `GET /api/organization-invitations` および `GET /api/organization-invitations/{id}`:すべての招待、または ID で特定の招待を取得します。
- ランディングページでこれらの API を利用し、ユーザーが受け取ったすべての招待を一覧表示したり、特定の招待の詳細を表示したりします。
+ ランディングページでこれらの API を使い、ユーザーが受け取ったすべての招待を一覧表示したり、特定の招待の詳細を表示したりします。
- `PUT /api/organization-invitations/{id}/status`:ステータスを更新して招待を承諾または拒否します。
この API を使ってユーザーの応答を処理します。
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
index 7d4d4734e10..0c5c6b36a20 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
@@ -2,68 +2,71 @@
sidebar_position: 8
---
-# 権限 (Permission) とリソース管理
+# 組織トークンにおけるスコープの更新を扱う
-組織 (Organization) をリソースとして使用し、組織テンプレートを適用して保護します。例えば、各組織 (Organization) はテナント内に独自のドキュメントを持ちます。適切なロール (Role) を持つユーザーのみが、それらのドキュメントを編集または削除できます。
+上記のセットアップにより、メールで招待を送信し、招待されたユーザーは割り当てられたロールで組織に参加できます。
-詳細は [組織の権限 (Organization permissions)](/authorization/organization-permissions) を参照してください。
+異なる組織ロールを持つユーザーは、組織トークン内で異なるスコープ(権限)を持ちます。クライアントアプリとバックエンドサービスの両方で、これらのスコープを確認し、表示する機能や許可されるアクションを判断してください。
-## 組織ロールベースのアクセス制御 (RBAC) でユーザー権限を管理する \{#use-organization-role-based-access-control-rbac-to-manage-user-permissions}
+前述の通り、組織テンプレートは [組織権限](/authorization/organization-permissions) や [組織レベル API リソース](/authorization/organization-level-api-resources) を保護するための主要なアクセス制御レイヤーとして機能します。認可 (Authorization) セクションを必ず確認し、製品に最適な認可 (Authorization) モデルを選択してください。
-上記の設定により、メールで招待を送信でき、招待されたユーザーは割り当てられたロール (Role) で組織 (Organization) に参加できます。
+:::note
-異なる組織ロール (Role) を持つユーザーは、組織トークン (Organization token) 内で異なるスコープ (Scope)(権限 (Permission))を持ちます。クライアントアプリとバックエンドサービスの両方で、これらのスコープ (Scope) を確認し、表示する機能や許可された操作を判断してください。
+
2. Logto から **M2M アクセス トークン (Access token)** を取得します。[詳細はこちら](/integrate-logto/interact-with-management-api#fetch-an-access-token)。
-3. バックエンドサービスから Logto Management API を呼び出します。例えば、すべての組織を一覧表示する場合:
+3. バックエンドサービスから **Logto Management API** を呼び出します。例えば、すべての組織を一覧表示する場合:
```bash
curl \
@@ -31,17 +32,18 @@ curl \
## アプリサーバーの保護 \{#protect-your-app-server}
-エンドユーザーが一部の組織操作をセルフサービスで実行できるため、エンドユーザーとアプリサーバーの間に認可 (Authorization) レイヤーを追加してください。サーバーはすべてのリクエストを仲介し、ユーザーの組織トークン (Organization token) と必要なスコープ (Scope) を検証したうえで、サーバーが保持する M2M 資格情報を使って Management API を呼び出すべきです。
+エンドユーザーが自身で組織に関する操作を行える場合があるため、エンドユーザーとアプリサーバーの間に認可 (Authorization) レイヤーを追加することが重要です。
+このレイヤーは、利用する Logto Management API エンドポイントやプロダクトの API 構成に応じて、グローバルまたは組織単位で適用できます。サーバーはすべてのリクエストを仲介し、ユーザーの組織トークン (Organization token) と必要なスコープ (Scope) を検証した上で、サーバーが保持する M2M 資格情報を使って Management API を呼び出すべきです。
ユーザーが組織トークン (Organization token) を提示してアクション(例:組織の作成)をリクエストした場合、サーバーはまずトークン内のスコープ (Scope) を検証します。トークンに `org:create` など必要なスコープ (Scope) が含まれていれば、リクエストを認可 (Authorization) し、M2M フロー経由で Logto Management API を呼び出して組織を作成します。
-必要なスコープ (Scope) が含まれていない場合は、403 Forbidden を返し、M2M ロジックをスキップします。これにより、適切な権限を持たないユーザーが組織を作成できないようにします。
+必要なスコープ (Scope) がトークンに含まれていない場合は、403 Forbidden を返し、M2M ロジックをスキップします。これにより、適切な権限を持たないユーザーが組織を作成できないようにします。
以下は一般的な認可 (Authorization) パターンです。
### 組織権限の利用 \{#using-organization-permissions}
-まず、[前のセクション](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations) で組織権限とロールを組織テンプレートに定義していることを確認してください。
+まず、[前のセクション](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations) で組織権限とロール (Role) を組織テンプレートに定義していることを確認してください。
次に、Logto 設定に `UserScope.Organizations`(値:`urn:logto:organization`)が含まれていることを確認します。React SDK の例:
@@ -67,14 +69,24 @@ const config = {
};
```
-これにより、`getOrganizationToken(organizationId)` を呼び出す際、クライアント SDK はユーザーに割り当てられた組織権限を含む組織トークン (Organization token) をリクエストします。バックエンドサービスはこのトークンを検証し、権限に基づいて後続のリクエストを認可 (Authorization) できます。
+これにより、`getOrganizationToken(organizationId)` を呼び出す際、クライアント SDK はユーザーに割り当てられた組織権限を含む組織トークン (Organization token) をリクエストします。バックエンドサービスはこのトークンを検証し、これらの権限に基づいて後続のリクエストを認可 (Authorization) できます。
組織レベル(非 API)権限の保護については、[完全ガイド](/authorization/organization-permissions) を参照してください。
-### 組織レベル権限と API レベル権限の混在 \{#mixing-organization-level-permissions-and-api-level-permissions}
+### API レベル権限の利用 \{#using-api-level-permissions}
-API リソースと権限がグローバルに登録されているが、ロールは組織レベルで定義されている場合(API レベルの権限を組織テンプレート内の組織ロールに割り当て可能)、このパターンが該当します。
+API リソースと権限がグローバルに登録されているが、ロール (Role) は組織単位で定義されている場合に適用されます(API レベル権限を組織テンプレート内の組織ロール (Role) に割り当て可能)。
実装方法は前述のセクションと同じです。常に組織 ID を指定し、`getOrganizationToken(organizationId)` を呼び出して組織トークン (Organization token) を取得してください。そうしないと、組織権限が含まれません。
-組織レベル API 権限の保護については、[完全ガイド](/authorization/organization-level-api-resources) を参照してください。
+組織レベルの API 権限の保護については、[完全ガイド](/authorization/organization-level-api-resources) を参照してください。
+
+### グローバル RBAC の利用 \{#using-global-rbac}
+
+この場合、Logto Management API を使ってシステムレベルのアクセス制御を実装できます。
+
+マルチテナント環境では、スーパーユーザーやスーパー管理者ロール (Role) を持つパターンが一般的です。例えば、Logto で SaaS プラットフォームを構築する場合、Logto コンソールにログインせずに自社アプリ内で全クライアント組織を直接管理できるスーパーユーザーが必要になることがあります。
+
+このスーパーユーザーは、単一の組織コンテキストを超えたシステム全体の権限が必要な、組織の一括作成や削除などの高度な操作を実行できます。これを実現するには、Logto で API リソースを登録し、Logto Management API を活用しつつ、グローバル RBAC でこれらの権限を管理します。
+
+RBAC のアクセス制御統合と管理の詳細については、[完全ガイド](/authorization/global-api-resources) を参照してください。
diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
index 7e96248a848..d9ba598aab8 100644
--- a/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
+++ b/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/create-organization.mdx
@@ -4,34 +4,37 @@ sidebar_position: 3
# 조직 생성
-여러 고객을 대상으로 하는 [멀티 테넌트 앱](https://auth.wiki/multi-tenancy) (예: 멀티 테넌트 SaaS 앱)을 구축한다고 상상해 보세요. 각 고객은 전용 테넌트를 소유하게 됩니다.
+여러 고객에게 서비스를 제공하며 각 고객이 전용 테넌트를 소유하는 [멀티 테넌트 앱](https://auth.wiki/multi-tenancy) (예: 멀티 테넌트 SaaS 앱)을 구축한다고 상상해 보세요.
조직은 일반적으로 다음과 같은 경우에 생성됩니다:
1. 신규 고객이 가입하여 비즈니스를 위한 계정과 테넌트를 모두 생성할 때
2. 기존 사용자가 앱 내에서 새로운 조직을 생성할 때
-
+
-## 조직 생성 구현 \{#implement-organization-creation}
+## 조직 생성 구현하기 \{#implement-organization-creation}
앱에서 조직을 생성하는 방법은 두 가지가 있습니다.
### Logto Console을 통한 생성 \{#create-via-logto-console}
-Logto Console UI에서 조직을 수동으로 생성할 수 있습니다.
## 구현 방법 \{#how-to-implement-it}
-조직 내에서 사용자 정보를 얻는 방법은 두 가지가 있습니다.
+조직 내에서 사용자 정보를 가져오는 방법은 두 가지가 있습니다.
-### 1. ID 토큰(ID token) 디코딩 \{#1-decode-the-id-token}
+### ID 토큰(ID token) 디코딩하기 \{#decode-the-id-token}
-ID 토큰(ID token)은 사용자 프로필 정보와 조직 관련 클레임(Claim)을 포함하는 표준 JWT입니다. SDK 메서드 `decodeIdToken()`을 호출하면 다음과 같은 JSON 객체를 얻을 수 있습니다:
+ID 토큰(ID token)은 사용자 프로필 정보와 조직 관련 클레임(Claim)을 포함하는 표준 JWT입니다. SDK의 `decodeIdToken()` 메서드를 호출하면 다음과 같은 JSON 객체를 얻을 수 있습니다:
```json
{
@@ -53,8 +53,8 @@ logtoClient.signIn({
});
```
-세션이 여전히 유효하다면, `signIn` 호출은 자격 증명 입력 없이 앱으로 다시 리디렉션됩니다. 사용자의 입장에서는 앱이 단순히 새로고침되고, 백그라운드에서 새로운 ID 토큰(ID token)이 발급됩니다.
+세션이 여전히 유효하다면, `signIn` 호출은 자격 증명 입력 없이 앱으로 다시 리디렉션됩니다. 사용자 입장에서는 앱이 단순히 새로고침되고, 백그라운드에서 새로운 ID 토큰(ID token)이 발급됩니다.
-### 2. `/oidc/me` 엔드포인트에서 사용자 정보 가져오기 \{#2-fetch-user-info-from-the-oidc-me-endpoint}
+### `/oidc/me` 엔드포인트에서 사용자 정보 가져오기 \{#fetch-user-info-from-the-oidc-me-endpoint}
-조직 컨텍스트에서 실시간 사용자 정보를 얻으려면 `/oidc/me`에 요청할 수도 있습니다. SDK 메서드 `fetchUserInfo()`를 호출하세요.
+조직 컨텍스트에서 실시간 사용자 정보를 얻으려면 `/oidc/me`에 요청할 수도 있습니다. SDK의 `fetchUserInfo()` 메서드를 호출하세요.
diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
index cd8b66eebb5..4ea41a75574 100644
--- a/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
+++ b/i18n/ko/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
@@ -2,13 +2,13 @@
sidebar_position: 6
---
-# 조직 구성원 초대
+# 조직 구성원 초대하기
-다중 조직 애플리케이션에서는 조직에 구성원을 초대하는 것이 일반적인 요구 사항입니다. 이 가이드에서는 이 기능을 구현하는 단계와 기술적인 세부 사항을 안내합니다.
+다중 테넌시 애플리케이션에서는 조직에 구성원을 초대하는 것이 일반적인 요구 사항입니다. 이 가이드에서는 이 기능을 구현하는 단계와 기술적 세부 사항을 안내합니다.
## 흐름 개요 \{#flow-overview}
-전체 프로세스는 아래 다이어그램에 나타나 있습니다:
+전체 프로세스는 아래 다이어그램과 같이 설명됩니다:
```mermaid
sequenceDiagram
@@ -17,19 +17,19 @@ sequenceDiagram
Participant C as 귀하의 다중 조직 앱
Participant L as Logto
- A ->> C: 초대받을 이메일과 역할 입력
+ A ->> C: 초대받을 이메일 및 역할 입력
C ->> L: Management API로 조직 초대 생성
L -->> C: 초대 ID 반환
- C ->> C: 초대 ID로 초대 링크 작성
+ C ->> C: 초대 ID로 초대 링크 생성
C ->> L: 초대 링크로 초대 이메일 발송 요청
L -->> U: 초대 링크가 포함된 초대 이메일 발송
U ->> C: 초대 링크 클릭 후 랜딩 페이지로 이동,
조직 (비 API) 권한 보호
+
@@ -14,7 +14,7 @@ Isso geralmente é usado na página de perfil do usuário, onde os usuários pre
Existem duas maneiras de obter informações do usuário dentro de uma organização.
-### 1. Decodificar o token de ID (ID token) \{#1-decode-the-id-token}
+### Decodificar o token de ID (ID token) \{#decode-the-id-token}
O token de ID (ID token) é um JWT padrão que contém informações do perfil do usuário e reivindicações relacionadas à organização. Chame o método do SDK `decodeIdToken()` para obter um objeto JSON como este:
@@ -42,8 +42,8 @@ O token de ID (ID token) é um JWT padrão que contém informações do perfil d
}
```
-No entanto, o token de ID (ID token) é emitido apenas durante a autenticação e pode ficar desatualizado se o perfil do usuário for alterado posteriormente.
-Para obter as informações mais atualizadas, use a segunda abordagem abaixo ou chame `clearAllTokens()` e reinicie um fluxo de autenticação para obter um novo token de ID.
+No entanto, o token de ID (ID token) só é emitido durante a autenticação e pode ficar desatualizado se o perfil do usuário for alterado posteriormente.
+Para obter as informações mais atualizadas, utilize a segunda abordagem abaixo ou chame `clearAllTokens()` e reinicie um fluxo de autenticação para obter um novo token de ID.
```ts
await logtoClient.clearAllTokens();
@@ -55,6 +55,6 @@ logtoClient.signIn({
Se a sessão ainda for válida, a chamada `signIn` irá redirecionar de volta para seu aplicativo sem exigir credenciais. Do ponto de vista do usuário, o aplicativo simplesmente é atualizado e um novo token de ID é emitido nos bastidores.
-### 2. Buscar informações do usuário no endpoint `/oidc/me` \{#2-fetch-user-info-from-the-oidc-me-endpoint}
+### Buscar informações do usuário no endpoint `/oidc/me` \{#fetch-user-info-from-the-oidc-me-endpoint}
-Você também pode requisitar `/oidc/me` para obter informações em tempo real do usuário no contexto da organização. Chame o método do SDK `fetchUserInfo()`.
+Você também pode requisitar `/oidc/me` para obter informações do usuário em tempo real no contexto da organização. Chame o método do SDK `fetchUserInfo()`.
diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
index 773288c042a..99f12034191 100644
--- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
+++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
@@ -4,7 +4,7 @@ sidebar_position: 6
# Convidar membros da organização
-Em aplicativos com múltiplas organizações, um requisito comum é convidar membros para uma organização. Este guia apresenta as etapas e detalhes técnicos para implementar esse recurso.
+Em aplicativos multi-inquilinos, um requisito comum é convidar membros para uma organização. Este guia apresenta as etapas e detalhes técnicos para implementar esse recurso.
## Visão geral do fluxo \{#flow-overview}
@@ -47,11 +47,11 @@ O papel `admin` tem acesso total a todos os recursos da organização, enquanto
- `write:data` - Acesso de escrita a todos os recursos de dados da organização.
- `invite:member` - Convidar membros para a organização.
-Isso pode ser feito facilmente no [Logto Console](https://cloud.logto.io/). Você também pode usar o [Logto Management API](https://openapi.logto.io/operation/operation-createorganizationrole) para criar papéis da organização programaticamente.
+Isso pode ser feito facilmente no [Logto Console](https://cloud.logto.io/). Você também pode usar o [Logto Management API](https://openapi.logto.io/operation/operation-createorganizationrole) para criar papéis de organização programaticamente.
## Configure seu conector de e-mail \{#configure-your-email-connector}
-Como os convites são enviados por e-mail, certifique-se de que seu [conector de e-mail](/connectors/email-connectors) está devidamente configurado. Para enviar convites, configure um [template de e-mail](/connectors/email-connectors/email-templates#email-template-types) com o tipo de uso `OrganizationInvitation`. Você pode incluir variáveis da organização (por exemplo, nome, logo) e do convidador (por exemplo, e-mail, nome) [variáveis](/connectors/email-connectors/email-templates#email-template-variables) no conteúdo, e personalizar [templates localizados](/connectors/email-connectors/email-templates#email-template-localization) conforme necessário.
+Como os convites são enviados por e-mail, certifique-se de que seu [conector de e-mail](/connectors/email-connectors) está devidamente configurado. Para enviar convites, configure um [template de e-mail](/connectors/email-connectors/email-templates#email-template-types) com o tipo de uso `OrganizationInvitation`. Você pode incluir variáveis de organização (por exemplo, nome, logo) e do convidador (por exemplo, e-mail, nome) [variáveis](/connectors/email-connectors/email-templates#email-template-variables) no conteúdo, e personalizar [templates localizados](/connectors/email-connectors/email-templates#email-template-localization) conforme necessário.
Um exemplo de template de e-mail para o tipo de uso `OrganizationInvitation` é mostrado abaixo:
@@ -72,7 +72,7 @@ O “serviço de e-mail Logto” integrado do Logto Cloud atualmente não suport
:::
-## Gerencie convites com Logto Management API \{#handle-invitations-with-logto-management-api}
+## Gerenciar convites com Logto Management API \{#handle-invitations-with-logto-management-api}
:::note
@@ -87,10 +87,15 @@ Há um conjunto de APIs de convite no recurso de organizações. Com essas APIs,
- `POST /api/organization-invitations`: Criar um convite de organização com um papel de organização atribuído.
- `POST /api/one-time-tokens`: Criar um token de uso único para o convidado autenticar ao aceitar o convite. [Saiba mais](/end-user-flows/one-time-token)
- `POST /api/organization-invitations/{id}/message`: Enviar o convite da organização para o convidado por e-mail.
- Observação: O payload suporta uma propriedade `link` para que você possa compor seu próprio link de convite com base no ID do convite. Por exemplo:
- ```json
- {
- "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email"
- }
- ```
+:::note
+
+O payload suporta uma propriedade `link` para que você possa compor seu próprio link de convite com base no ID do convite. Por exemplo:
+
+:::
+
+```json
+{
+ "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email"
+}
+```
diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx
index 22166e2ae81..acf25b19ced 100644
--- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx
+++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx
@@ -6,27 +6,32 @@ sidebar_position: 7
## Onde usar \{#where-to-use-it}
-A lista de organizações normalmente aparece durante o fluxo de onboarding do usuário. Por exemplo, quando um administrador convida você para participar de um workspace.
+A lista de organizações e o fluxo de entrada geralmente aparecem durante o onboarding do usuário.
+Por exemplo, quando um administrador convida alguém para um workspace, mas o usuário ignora o convite por e-mail e faz login ou cadastro diretamente no aplicativo.
-Do ponto de vista do produto, ela pode aparecer em dois lugares principais:
+No seu produto, você pode querer adicionar pontos de entrada para esse fluxo.
+Ele pode aparecer em dois locais principais:
-- O **localizador de organização** durante o login ou cadastro
+- O **localizador de organizações** durante o login ou cadastro
-- O **seletor de organização** dentro do aplicativo
+- O **seletor de organizações** dentro do aplicativo
-
+
-## Use a Management API do Logto para permitir que usuários entrem em uma organização \{#use-the-logto-management-api-to-let-users-join-an-organization}
+## Use a Logto Management API para permitir que usuários entrem em uma organização \{#use-the-logto-management-api-to-let-users-join-an-organization}
-Na seção anterior, abordamos a criação e o envio de convites para organizações usando a Management API do Logto.
-Em seguida, implemente uma página de destino que trate o link de convite quando os convidados chegarem ao seu aplicativo.
+Na seção anterior, abordamos a criação e o envio de convites para organizações usando a Logto Management API.
+A seguir, implemente uma página de destino que trata o link de convite quando os convidados chegam ao seu aplicativo.
- `GET /api/organization-invitations` e `GET /api/organization-invitations/{id}`: Obtenha todos os convites ou um específico pelo ID.
Na sua página de destino, use essas APIs para listar todos os convites ou mostrar os detalhes de um convite específico que o usuário recebeu.
- `PUT /api/organization-invitations/{id}/status`: Aceite ou rejeite o convite atualizando seu status.
- Use esta API para tratar a resposta do usuário.
+ Use esta API para lidar com a resposta do usuário.
diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
index ddc5547ab64..8042b870ba9 100644
--- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
+++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
@@ -2,21 +2,28 @@
sidebar_position: 8
---
-# Gerenciamento de permissões e recursos
+# Lidar com atualizações de escopo em tokens de organização
-Use a organização como um recurso e aplique um modelo de organização para protegê-la. Por exemplo, cada organização possui seus próprios documentos dentro de um tenant. Apenas usuários com os papéis corretos podem editar ou excluir esses documentos.
+Com a configuração acima, você pode enviar convites por e-mail, e os convidados podem ingressar na organização com o papel atribuído.
-Veja [Permissões de organização](/authorization/organization-permissions) para detalhes.
+Usuários com diferentes papéis na organização terão diferentes escopos (permissões) em seus tokens de organização. Tanto seu aplicativo cliente quanto os serviços de backend devem verificar esses escopos para determinar os recursos visíveis e as ações permitidas.
-## Use o controle de acesso baseado em papel (RBAC) da organização para gerenciar permissões de usuários \{#use-organization-role-based-access-control-rbac-to-manage-user-permissions}
+Como mencionado anteriormente, o template de organização serve como uma camada-chave de controle de acesso para proteger [permissões da organização](/authorization/organization-permissions) ou [APIs em nível de organização](/authorization/organization-level-api-resources). Certifique-se de revisar as seções de autorização e escolher o modelo de autorização que melhor se adapta ao seu produto.
-Com a configuração acima, você pode enviar convites por e-mail, e os convidados podem ingressar na organização com o papel atribuído.
+:::note
+
+
+
2. **Obter um token de acesso M2M** do Logto. [Saiba mais](/integrate-logto/interact-with-management-api#fetch-an-access-token).
3. **Chamar as Management APIs do Logto** a partir do seu serviço backend. Por exemplo, listar todas as organizações:
@@ -31,9 +32,9 @@ curl \
## Proteja seu servidor de aplicativo \{#protect-your-app-server}
-Como os usuários finais podem realizar certas operações de organização de forma self-service, adicione uma camada de autorização entre o usuário final e seu servidor de aplicativo. O servidor deve mediar cada solicitação, validar o token de organização do usuário e os escopos necessários, e só então usar uma credencial M2M mantida no servidor para invocar a Management API.
+Como os usuários finais podem realizar certas ações de organização por conta própria, é importante adicionar uma camada de autorização entre o usuário final e seu servidor de aplicativo. Você pode aplicar essa camada globalmente ou no nível da organização, dependendo de quais endpoints da Management API do Logto você utiliza e de como a API do seu produto está estruturada. O servidor deve intermediar cada solicitação, validar o token com escopo de organização do usuário e os escopos necessários, e só então usar uma credencial M2M mantida no servidor para invocar a Management API.
-Quando um usuário apresenta um token de organização para solicitar uma ação (por exemplo, criar uma organização), o servidor primeiro valida os escopos no token. Se o token incluir o escopo necessário, como `org:create`, autorize a solicitação e chame a Management API do Logto via o fluxo M2M para criar a organização.
+Quando um usuário apresenta um token de organização para solicitar uma ação (por exemplo, criar uma organização), o servidor primeiro valida os escopos no token. Se o token incluir o escopo necessário, como `org:create`, autorize a solicitação e chame a Management API do Logto via fluxo M2M para criar a organização.
Se o token não contiver os escopos necessários, retorne um 403 Forbidden e ignore a lógica M2M. Isso garante que usuários sem os privilégios apropriados não possam criar organizações.
@@ -43,7 +44,7 @@ Abaixo estão padrões comuns de autorização.
Primeiro, certifique-se de que você definiu permissões e papéis de organização em seu template de organização na [seção anterior](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations).
-Depois, garanta que `UserScope.Organizations` (valor: `urn:logto:organization`) esteja incluído na configuração do Logto. Veja o SDK React como exemplo:
+Depois, garanta que `UserScope.Organizations` (valor: `urn:logto:organization`) esteja incluído na configuração do Logto. Tomando o SDK React como exemplo:
```jsx
// src/App.js
@@ -53,7 +54,7 @@ const config = {
endpoint: 'https://
-## การสร้างองค์กรในแอป \{#implement-organization-creation}
+## การสร้างองค์กรในแอปของคุณ \{#implement-organization-creation}
มีสองวิธีในการสร้างองค์กรสำหรับแอปของคุณ
### สร้างผ่าน Logto Console \{#create-via-logto-console}
-สร้างองค์กรด้วยตนเองผ่าน UI ของ Logto Console ไปที่ เข้าร่วม {{organization.name}} ได้โดยคลิก ลิงก์นี้.
", + "content": "เข้าร่วม {{organization.name}} ได้ที่ ลิงก์นี้.
", "usageType": "OrganizationInvitation", "type": "text/html" } ``` -ตัวแปร `{{link}}` ในเนื้อหาอีเมลจะถูกแทนที่ด้วยลิงก์คำเชิญจริงเมื่อส่งอีเมล +ตัวแปร `{{link}}` ในเนื้อหาอีเมลจะถูกแทนที่ด้วยลิงก์เชิญจริงเมื่อส่งอีเมล :::note -บริการ “Logto email service” ที่มากับ Logto Cloud ยังไม่รองรับประเภทการใช้งาน `OrganizationInvitation` กรุณาตั้งค่าตัวเชื่อมต่ออีเมลของคุณเอง (เช่น SendGrid) และตั้งค่าเทมเพลต `OrganizationInvitation` แทน +บริการ “Logto email service” ที่มาพร้อม Logto Cloud ยังไม่รองรับ `OrganizationInvitation` ในขณะนี้ กรุณาตั้งค่าตัวเชื่อมต่ออีเมลของคุณเอง (เช่น SendGrid) และตั้งค่าเทมเพลต `OrganizationInvitation` แทน ::: @@ -76,7 +76,7 @@ sequenceDiagram :::note -หากคุณยังไม่ได้ตั้งค่า Logto Management API โปรดดู [โต้ตอบกับ Management API](/integrate-logto/interact-with-management-api) สำหรับรายละเอียด +หากคุณยังไม่ได้ตั้งค่า Logto Management API ดูรายละเอียดที่ [โต้ตอบกับ Management API](/integrate-logto/interact-with-management-api) ::: @@ -87,10 +87,15 @@ sequenceDiagram - `POST /api/organization-invitations`: สร้างคำเชิญองค์กรพร้อมกำหนดบทบาทองค์กร - `POST /api/one-time-tokens`: สร้างโทเค็นใช้ครั้งเดียวสำหรับผู้รับเชิญเพื่อยืนยันตัวตนเมื่อยอมรับคำเชิญ [เรียนรู้เพิ่มเติม](/end-user-flows/one-time-token) - `POST /api/organization-invitations/{id}/message`: ส่งคำเชิญองค์กรไปยังผู้รับเชิญทางอีเมล - หมายเหตุ: payload รองรับ property `link` เพื่อให้คุณสามารถสร้างลิงก์คำเชิญเองโดยอิงจากรหัสคำเชิญ ตัวอย่างเช่น: - ```json - { - "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email" - } - ``` +:::note + +payload รองรับ property `link` เพื่อให้คุณสร้างลิงก์เชิญเองโดยอิงจาก invitation ID ตัวอย่างเช่น: + +::: + +```json +{ + "link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email" +} +``` diff --git a/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx b/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx index 7b61f9b4541..3402c325bb4 100644 --- a/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx +++ b/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/join-the-organization.mdx @@ -6,27 +6,29 @@ sidebar_position: 7 ## ใช้งานที่ไหน \{#where-to-use-it} -รายการองค์กร (organization list) มักจะแสดงในระหว่างขั้นตอนการเริ่มต้นใช้งานของผู้ใช้ (user onboarding flow) ตัวอย่างเช่น เมื่อผู้ดูแลระบบเชิญคุณเข้าร่วม workspace +รายการองค์กรและขั้นตอนการเข้าร่วมมักจะปรากฏในระหว่างการเริ่มต้นใช้งานของผู้ใช้ (onboarding) +ตัวอย่างเช่น เมื่อผู้ดูแลระบบเชิญใครบางคนเข้าสู่ workspace แต่ผู้ใช้ข้ามอีเมลเชิญและเข้าสู่ระบบหรือสมัครสมาชิกในแอปโดยตรง -ในมุมมองของผลิตภัณฑ์ สามารถแสดงได้ใน 2 ตำแหน่งหลัก: +ในผลิตภัณฑ์ของคุณ คุณอาจต้องการเพิ่มจุดเข้าใช้งานสำหรับขั้นตอนนี้ +โดยสามารถแสดงได้ในสองตำแหน่งหลัก: -- **ตัวค้นหาองค์กร (organization finder)** ระหว่างการลงชื่อเข้าใช้ หรือสมัครสมาชิก +- **ตัวค้นหาองค์กร** ระหว่างการลงชื่อเข้าใช้หรือสมัครสมาชิก
-- **ตัวสลับองค์กร (organization switcher)** ภายในแอปพลิเคชัน
+- **ตัวสลับองค์กร** ภายในแอปพลิเคชัน
## ใช้ Logto Management API เพื่อให้ผู้ใช้เข้าร่วมองค์กร \{#use-the-logto-management-api-to-let-users-join-an-organization}
-ในหัวข้อก่อนหน้า เราได้กล่าวถึงการสร้างและส่งคำเชิญเข้าร่วมองค์กรโดยใช้ Logto Management API
-ถัดไป ให้คุณสร้างหน้า landing page เพื่อจัดการลิงก์คำเชิญเมื่อผู้ถูกเชิญเข้ามายังแอปของคุณ
+ในหัวข้อก่อนหน้า เราได้กล่าวถึงการสร้างและส่งคำเชิญองค์กรโดยใช้ Logto Management API
+ถัดไป ให้คุณสร้างหน้า landing page เพื่อจัดการลิงก์คำเชิญเมื่อผู้รับเชิญมาถึงแอปพลิเคชันของคุณ
-- `GET /api/organization-invitations` และ `GET /api/organization-invitations/{id}`: ดึงคำเชิญทั้งหมด หรือระบุด้วย ID
- ในหน้า landing page ของคุณ ใช้ API เหล่านี้เพื่อแสดงรายการคำเชิญทั้งหมด หรือแสดงรายละเอียดของคำเชิญที่ผู้ใช้ได้รับ
+- `GET /api/organization-invitations` และ `GET /api/organization-invitations/{id}`: ดึงคำเชิญทั้งหมดหรือเฉพาะรายการตาม ID
+ ในหน้า landing page ของคุณ ให้ใช้ API เหล่านี้เพื่อแสดงรายการคำเชิญทั้งหมดหรือแสดงรายละเอียดของคำเชิญที่ผู้ใช้ได้รับ
- `PUT /api/organization-invitations/{id}/status`: ยอมรับหรือปฏิเสธคำเชิญโดยอัปเดตสถานะ
ใช้ API นี้เพื่อจัดการการตอบรับของผู้ใช้
diff --git a/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx b/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
index 14d4d6d31f5..4df6fda11f4 100644
--- a/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
+++ b/i18n/th/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/permission-and-resource-management.mdx
@@ -2,37 +2,40 @@
sidebar_position: 8
---
-# การจัดการสิทธิ์ (Permission) และทรัพยากร (Resource)
+# จัดการการอัปเดตขอบเขต (scope) ในโทเค็นองค์กร (Organization token)
-ใช้องค์กรเป็นทรัพยากรและนำเทมเพลตองค์กรไปใช้เพื่อปกป้องมัน ตัวอย่างเช่น แต่ละองค์กรมีเอกสารของตนเองภายในผู้เช่า (tenant) เฉพาะผู้ใช้ที่มีบทบาท (Role) ที่เหมาะสมเท่านั้นที่สามารถแก้ไขหรือ ลบเอกสารเหล่านั้นได้
+ด้วยการตั้งค่าข้างต้น คุณสามารถส่งคำเชิญผ่านอีเมล และผู้ที่ได้รับเชิญสามารถเข้าร่วมองค์กรพร้อมบทบาทที่กำหนดไว้
-ดูรายละเอียดที่ [สิทธิ์ขององค์กร (Organization permissions)](/authorization/organization-permissions)
+ผู้ใช้ที่มีบทบาทองค์กรต่างกันจะมีขอบเขต (สิทธิ์) ที่แตกต่างกันในโทเค็นองค์กรของตน ทั้งแอปฝั่งไคลเอนต์และบริการฝั่งแบ็กเอนด์ของคุณควรตรวจสอบขอบเขตเหล่านี้เพื่อกำหนดฟีเจอร์ที่มองเห็นได้และการกระทำที่อนุญาต
-## ใช้การควบคุมการเข้าถึงตามบทบาทขององค์กร (RBAC) เพื่อจัดการสิทธิ์ของผู้ใช้ \{#use-organization-role-based-access-control-rbac-to-manage-user-permissions}
+ดังที่กล่าวไว้ก่อนหน้านี้ เทมเพลตองค์กรทำหน้าที่เป็นชั้นควบคุมการเข้าถึงที่สำคัญเพื่อปกป้อง [สิทธิ์ขององค์กร](/authorization/organization-permissions) หรือ [API ระดับองค์กร](/authorization/organization-level-api-resources) อย่าลืมทบทวนหัวข้อการอนุญาตและเลือกโมเดลการอนุญาตที่เหมาะสมกับผลิตภัณฑ์ของคุณมากที่สุด
-ด้วยการตั้งค่าข้างต้น คุณสามารถส่งคำเชิญผ่านอีเมล และผู้ที่ได้รับเชิญสามารถเข้าร่วมองค์กรพร้อมบทบาทที่กำหนดไว้
+:::note
+
+
-2. **ขอรับโทเค็นการเข้าถึง M2M (M2M access token)** จาก Logto [เรียนรู้เพิ่มเติม](/integrate-logto/interact-with-management-api#fetch-an-access-token)
-3. **เรียกใช้ Logto Management API** จากบริการ backend ของคุณ ตัวอย่างเช่น แสดงรายการองค์กรทั้งหมด:
+2. **ขอรับ M2M access token** จาก Logto [เรียนรู้เพิ่มเติม](/integrate-logto/interact-with-management-api#fetch-an-access-token)
+3. **เรียกใช้ Logto Management APIs** จากบริการ backend ของคุณ ตัวอย่างเช่น แสดงรายการองค์กรทั้งหมด:
```bash
curl \
@@ -31,19 +32,19 @@ curl \
## ปกป้องเซิร์ฟเวอร์แอปของคุณ \{#protect-your-app-server}
-เนื่องจากผู้ใช้ปลายทางสามารถดำเนินการบางอย่างเกี่ยวกับองค์กรได้ด้วยตนเอง ควรเพิ่มเลเยอร์การอนุญาต (authorization layer) ระหว่างผู้ใช้กับเซิร์ฟเวอร์แอปของคุณ เซิร์ฟเวอร์ควรเป็นตัวกลางสำหรับทุกคำขอ ตรวจสอบโทเค็นองค์กรของผู้ใช้และขอบเขต (scopes) ที่จำเป็น และใช้ข้อมูลรับรอง M2M ที่เก็บไว้ในเซิร์ฟเวอร์เพื่อเรียก Management API เท่านั้น
+เนื่องจากผู้ใช้ปลายทางสามารถดำเนินการบางอย่างเกี่ยวกับองค์กรได้ด้วยตนเอง จึงควรเพิ่มชั้นการอนุญาต (Authorization) ระหว่างผู้ใช้ปลายทางกับเซิร์ฟเวอร์แอปของคุณ\คุณสามารถใช้ชั้นนี้ในระดับ global หรือระดับองค์กร ขึ้นอยู่กับว่าใช้ Logto Management API endpoint ใดและโครงสร้าง API ของผลิตภัณฑ์ของคุณเป็นอย่างไร เซิร์ฟเวอร์ควรเป็นตัวกลางในทุกคำขอ ตรวจสอบโทเค็นองค์กรของผู้ใช้และขอบเขตที่ต้องการ และใช้ข้อมูลประจำตัว M2M ที่เซิร์ฟเวอร์ถืออยู่เพื่อเรียก Management API เท่านั้น
-เมื่อผู้ใช้ส่งโทเค็นองค์กรเพื่อขอดำเนินการ (เช่น สร้างองค์กร) เซิร์ฟเวอร์จะตรวจสอบขอบเขตในโทเค็นก่อน หากโทเค็นมีขอบเขตที่จำเป็น เช่น `org:create` ให้อนุญาตคำขอและเรียก Logto Management API ผ่าน flow M2M เพื่อสร้างองค์กร
+เมื่อผู้ใช้ส่ง organization token เพื่อขอดำเนินการ (เช่น สร้างองค์กร) เซิร์ฟเวอร์จะตรวจสอบขอบเขตในโทเค็นก่อน หากโทเค็นมีขอบเขตที่จำเป็น เช่น `org:create` ให้อนุญาตคำขอและเรียก Logto Management API ผ่าน flow M2M เพื่อสร้างองค์กร
-หากโทเค็นไม่มีขอบเขตที่จำเป็น ให้ส่งกลับ 403 Forbidden และข้ามตรรกะ M2M เพื่อให้แน่ใจว่าผู้ใช้ที่ไม่มีสิทธิ์จะไม่สามารถสร้างองค์กรได้
+หากโทเค็นไม่มีขอบเขตที่ต้องการ ให้ส่งกลับ 403 Forbidden และข้ามตรรกะ M2M เพื่อให้แน่ใจว่าผู้ใช้ที่ไม่มีสิทธิ์จะไม่สามารถสร้างองค์กรได้
ด้านล่างนี้คือลักษณะการอนุญาตที่พบบ่อย
-### การใช้สิทธิ์ขององค์กร \{#using-organization-permissions}
+### การใช้สิทธิ์ขององค์กร (Organization permissions) \{#using-organization-permissions}
-ก่อนอื่น ตรวจสอบให้แน่ใจว่าคุณได้กำหนดสิทธิ์ (permissions) และบทบาท (roles) ขององค์กรไว้ในเทมเพลตองค์กรของคุณใน [หัวข้อก่อนหน้า](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations)
+ก่อนอื่น ตรวจสอบให้แน่ใจว่าคุณได้กำหนดสิทธิ์และบทบาทขององค์กรไว้ในเทมเพลตองค์กรใน [หัวข้อก่อนหน้า](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations)
-จากนั้น ตรวจสอบให้แน่ใจว่า `UserScope.Organizations` (ค่า: `urn:logto:organization`) ถูกเพิ่มไว้ใน config ของ Logto ยกตัวอย่าง React SDK:
+จากนั้น ตรวจสอบให้แน่ใจว่า `UserScope.Organizations` (ค่า: `urn:logto:organization`) ถูกเพิ่มใน config ของ Logto ยกตัวอย่าง React SDK:
```jsx
// src/App.js
@@ -53,7 +54,7 @@ const config = {
endpoint: 'https://
+
-## 实现方法 \{#how-to-implement-it}
+## 如何实现 \{#how-to-implement-it}
-有两种方式可以获取组织内的用户信息。
+有两种方式可以获取组织 (Organization) 内的用户信息。
-### 1. 解码 ID 令牌 (ID token) \{#1-decode-the-id-token}
+### 解码 ID 令牌 (ID token) \{#decode-the-id-token}
-ID 令牌 (ID token) 是一个标准的 JWT,其中包含用户资料信息和与组织相关的声明 (Claims)。调用 SDK 方法 `decodeIdToken()` 可以获得如下的 JSON 对象:
+ID 令牌 (ID token) 是一个标准的 JWT,其中包含用户资料信息和与组织 (Organization) 相关的声明 (Claims)。调用 SDK 方法 `decodeIdToken()` 可以获得如下的 JSON 对象:
```json
{
@@ -42,8 +42,8 @@ ID 令牌 (ID token) 是一个标准的 JWT,其中包含用户资料信息和
}
```
-但是,ID 令牌 (ID token) 只会在认证 (Authentication) 期间签发,如果用户资料之后发生更改,令牌可能会变得过时。
-如需获取最新信息,请使用下面的第二种方式,或者调用 `clearAllTokens()` 并重新发起认证 (Authentication) 流程以获取新的 ID 令牌 (ID token)。
+但是,ID 令牌 (ID token) 只会在认证 (Authentication) 期间签发,如果用户资料之后发生更改,可能会变得过时。
+如需获取最新信息,请使用下面的第二种方式,或调用 `clearAllTokens()` 并重新发起认证 (Authentication) 流程以获取新的 ID 令牌 (ID token)。
```ts
await logtoClient.clearAllTokens();
@@ -55,6 +55,6 @@ logtoClient.signIn({
如果会话仍然有效,`signIn` 调用会在无需输入凭据的情况下重定向回你的应用。从用户的角度来看,应用只是刷新了一下,后台会自动签发新的 ID 令牌 (ID token)。
-### 2. 从 `/oidc/me` 端点获取用户信息 \{#2-fetch-user-info-from-the-oidc-me-endpoint}
+### 从 `/oidc/me` 端点获取用户信息 \{#fetch-user-info-from-the-oidc-me-endpoint}
-你也可以请求 `/oidc/me`,以在组织上下文中获取实时的用户信息。调用 SDK 方法 `fetchUserInfo()` 即可。
+你也可以请求 `/oidc/me`,以在组织 (Organization) 上下文中获取实时的用户信息。调用 SDK 方法 `fetchUserInfo()`。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx b/i18n/zh-CN/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
index 648bbf19386..77e61834647 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/end-user-flows/organization-experience/invite-organization-members.mdx
@@ -4,7 +4,7 @@ sidebar_position: 6
# 邀请组织成员
-在多组织应用中,一个常见需求是邀请成员加入组织。本指南将介绍实现此功能的步骤和技术细节。
+在多租户应用程序中,一个常见需求是邀请成员加入组织。本指南将介绍实现此功能的步骤和技术细节。
## 流程概览 \{#flow-overview}
@@ -20,7 +20,7 @@ sequenceDiagram
A ->> C: 输入被邀请者邮箱和角色
C ->> L: 使用 Management API 创建组织邀请
L -->> C: 返回邀请 ID
- C ->> C: 组合带有邀请 ID 的邀请链接
+ C ->> C: 通过邀请 ID 生成邀请链接
C ->> L: 请求发送包含邀请链接的邀请邮件
L -->> U: 发送包含邀请链接的邀请邮件
U ->> C: 点击邀请链接并跳转到你的落地页,
2. 從 Logto **取得 M2M 存取權杖 (Access token)**。[進一步了解](/integrate-logto/interact-with-management-api#fetch-an-access-token)。
-3. 從你的後端服務 **呼叫 Logto Management API**。例如,列出所有組織 (Organizations):
+3. 從你的後端服務 **呼叫 Logto Management API**。例如,列出所有組織:
```bash
curl \
@@ -31,17 +32,17 @@ curl \
## 保護你的應用伺服器 \{#protect-your-app-server}
-由於終端使用者可自行執行部分組織 (Organization) 操作,建議在終端使用者與應用伺服器之間加入授權 (Authorization) 層。伺服器應攔截每個請求,驗證使用者的組織權杖 (Organization token) 及所需權限範圍 (Scopes),僅在通過驗證後,才以伺服器持有的 M2M 憑證呼叫 Management API。
+由於終端使用者可自行執行部分組織操作,因此在終端使用者與應用伺服器之間加入授權 (Authorization) 層至關重要。你可以根據所使用的 Logto Management API 端點及產品 API 架構,選擇全域或組織層級套用此授權層。伺服器應攔截每個請求,驗證使用者的組織權杖 (Organization token) 及所需權限範圍 (Scopes),僅在通過驗證後,才以伺服器持有的 M2M 憑證呼叫 Management API。
-當使用者提交組織權杖 (Organization token) 請求操作(例如建立組織 (Organization))時,伺服器會先驗證權杖中的權限範圍 (Scopes)。若權杖包含必要的權限範圍(如 `org:create`),則授權 (Authorize) 請求並透過 M2M 流程呼叫 Logto Management API 建立組織 (Organization)。
+當使用者提交組織權杖請求操作(例如建立組織)時,伺服器會先驗證權杖中的權限範圍 (Scopes)。若權杖包含必要權限範圍(如 `org:create`),則授權請求並透過 M2M 流程呼叫 Logto Management API 建立組織。
-若權杖未包含所需權限範圍,則回傳 403 Forbidden,並略過 M2M 邏輯。這可確保未具備適當權限的使用者無法建立組織 (Organization)。
+若權杖未包含所需權限範圍,則回傳 403 Forbidden 並略過 M2M 邏輯。如此可確保未具備適當權限的使用者無法建立組織。
-以下是常見的授權 (Authorization) 模式。
+以下為常見授權 (Authorization) 模式。
### 使用組織權限 (Organization permissions) \{#using-organization-permissions}
-首先,請確保你已在 [前一節](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations) 的組織 (Organization) 範本中定義組織權限 (Organization permissions) 與角色 (Roles)。
+首先,請確保你已在[前一節](/end-user-flows/organization-experience/organization-management#define-access-control-within-organizations)的組織範本中定義組織權限與角色。
接著,確認 Logto 設定中已包含 `UserScope.Organizations`(值:`urn:logto:organization`)。以 React SDK 為例:
@@ -53,7 +54,7 @@ const config = {
endpoint: 'https://