Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Outils de développement
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Outils de développement
SDK
API
Tests
Workbench
Destinations d'événements
Workflows
CLI Stripe
Shell Stripe
Dashboard des développeurs
Boîte à outils des agents
Intégrer des LLMStripe pour Visual Studio CodeAlertes d'intégrité de StripeChargements de fichiers
Sécurité et confidentialité
Sécurité
Confidentialité
Extensions Stripe
Stripe Apps
    Présentation
    Démarrer
    Créer une application
    Fonctionnement de Stripe Apps
    Exemples d'application
    Créer une application
    Enregistrer des clés secrètes
    Méthodes d'authentification de l'API
    Flux d'autorisation
    Logique côté serveur
    Écouter les événements
    Gérer différents modes
    Activer la prise en charge de l'environnement de test
    Page des paramètres d'application
    Concevoir une interface utilisateur
    Inscription des utilisateurs
    Distribuer votre application
    Options de distribution
    Charger votre application
    Versions
    Tester votre application
    Publier votre application
    Faire la promotion de votre application
    Ajouter des liens profonds
    Créer des liens d'installation
    Assigner des rôles dans les extensions d'interface utilisateur
    Actions post-installation
    Analyses de l'application
    Composants intégrés pour les applications
    Intégrer des applications tierces conçues pour Stripe
    Migrer vers Stripe Apps
    Migrer ou développer une extension
    Migrer un plugin vers Stripe Apps ou Stripe Connect
    Référence
    Manifeste de l'application
    Interface de ligne de commande
    SDK d'extension
    Autorisations
    Fenêtres d'affichage
    Modèles de conception
    Composants
Connecteurs Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilOutils de développementStripe Apps

Utilisation de rôles dans les extensions d'interface utilisateur

Comment inclure des rôles d'utilisateur dans les extensions d'interface utilisateur pour adapter les fonctionnalités à différents rôles.

Copier la page

Les extensions d’interface utilisateur des Stripe Apps peuvent lire le rôle de l’utilisateur actif dans le Dashboard. Les applications peuvent exposer différentes fonctionnalités à différents rôles d’utilisateur.

Le SDK des extensions d’interface utilisateur fournit de précieuses informations sur l’utilisateur final de votre application. Le champ roles de l’objet userContext dresse la liste des rôles de l’utilisateur actif. Vous pouvez personnaliser le contenu de l’application en fonction du rôle de l’utilisateur, en utilisant les rôles dans le contexte de l’utilisateur.

Comment déterminer le rôle du Dashboard de l’utilisateur

Les extensions possèdent une propriété userContext renseignée avec des informations sur l’utilisateur actif du Dashboard . Cet objet possède un champ roles, qui est un tableau d’objets RoleDefinition pour chaque rôle auquel l’utilisateur actif est attribué.

Une définition de rôle comprend les champs suivants :

Nom du champ
Type
Exemple
type
‘builtIn’ | ‘custom’
builtIn
Spécifie le type de rôle. Les rôles personnalisés ne sont disponibles que pour les applications privées.
nom
chaîne
Développeur
Le nom du rôle d’utilisateur.

Le champ name fournit l’intitulé du rôle d’utilisateur, et vous pouvez l’utiliser pour modifier les fonctionnalités de votre extension d’interface utilisateur.

Rôles d’utilisateur personnalisés (applications privées uniquement)

Chaque définition de rôle possède un champ type, qui spécifie le type du rôle. Ce champ peut prendre la valeur « builtIn » ou « custom ». Les rôles personnalisés étant propres à un compte donné, ils ne sont disponibles que pour les applications privées.

Personnalisation du contenu en fonction du rôle du Dashboard

Une utilisation courante de ces informations consiste à les mettre à profit pour un affichage conditionnel du contenu en fonction du rôle de l’utilisateur. Voici une application test qui affiche un contenu adapté à des rôles d’utilisateurs particuliers.

import { Badge, Box, Inline, ContextView } from "@stripe/ui-extension-sdk/ui"; import type { ExtensionContextValue } from "@stripe/ui-extension-sdk/context"; const App = ({ userContext }: ExtensionContextValue) => { const isAdmin = userContext?.roles?.some(role => role.name === 'Administrator'); const isDeveloper = !isAdmin && userContext?.roles?.some(role => role.name === 'Developer'); const isaAnotherRole = !isDeveloper && !isAdmin; return ( <ContextView title="Role based access" > <Box> <Box css={{ paddingBottom: 'large'}}>Active user roles: {userContext?.roles?.map(role => <Badge key={role.name}>{role.name}</Badge>)}</Box> { isAdmin && (<Box>Only <Inline css={{ fontWeight: 'semibold' }}>admin</Inline> users can see this message.</Box>) } { isDeveloper && (<Box>Only <Inline css={{ fontWeight: 'semibold' }}>developers</Inline> users can see this message.</Box>) } { isaAnotherRole && (<Box>Only users who are not admins or developers can see this message.</Box>) } </Box> </ContextView> ); }; export default App;
Capture d'écran du résultat de l'exemple de code ci-dessus pour un utilisateur administrateur

Résultat de l’application test lors de l’affichage de l’application en tant qu’utilisateur administrateur

Voir aussi

  • Créer une interface utilisateur
  • Documentation de l’API Extension SDK
  • Rôles des utilisateurs
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc