Welcome to FlowZap, the App to diagram with Speed, Clarity and Control.

Workflow de flux OAuth

business-operations

Flux de code d’autorisation OAuth 2.0 avec gestion des redirections, échange de code, stockage des jetons, rotation des jetons d’actualisation et gestion des portées.

Code FlowZap complet

User { # User
  n1: circle label:"Start"
  n2: rectangle label:"Click Login with Provider"
  n3: rectangle label:"Grant permissions"
  n4: rectangle label:"Receive access token"
  n5: circle label:"End"
  n1.handle(right) -> n2.handle(left)
  n2.handle(bottom) -> ClientApp.n6.handle(top) [label="Initiate"]
  n3.handle(bottom) -> AuthServer.n12.handle(top) [label="Approve"]
  n4.handle(right) -> n5.handle(left)
}
ClientApp { # Client App
  n6: rectangle label:"Generate state parameter"
  n7: rectangle label:"Build authorization URL"
  n8: rectangle label:"Redirect to auth server"
  n9: rectangle label:"Receive authorization code"
  n10: rectangle label:"Exchange code for tokens"
  n11: rectangle label:"Store tokens securely"
  n6.handle(right) -> n7.handle(left)
  n7.handle(right) -> n8.handle(left)
  n8.handle(bottom) -> AuthServer.n13.handle(top) [label="Redirect"]
  n9.handle(right) -> n10.handle(left)
  n10.handle(bottom) -> AuthServer.n17.handle(top) [label="Token request"]
  n11.handle(top) -> User.n4.handle(bottom) [label="Authenticated"]
}
AuthServer { # Auth Server
  n12: rectangle label:"Validate client credentials"
  n13: rectangle label:"Display consent screen"
  n14: diamond label:"User consents?"
  n15: rectangle label:"Generate authorization code"
  n16: rectangle label:"Return error response"
  n17: diamond label:"Valid code and secret?"
  n18: rectangle label:"Issue access and refresh tokens"
  n12.handle(right) -> n13.handle(left)
  n13.handle(top) -> User.n3.handle(bottom) [label="Show consent"]
  n14.handle(right) -> n15.handle(left) [label="Yes"]
  n14.handle(bottom) -> n16.handle(top) [label="No"]
  n15.handle(top) -> ClientApp.n9.handle(bottom) [label="Callback"]
  n16.handle(top) -> ClientApp.n6.handle(bottom) [label="Access denied"]
  n17.handle(right) -> n18.handle(left) [label="Yes"]
  n17.handle(bottom) -> n16.handle(left) [label="No"]
  n18.handle(top) -> ClientApp.n11.handle(bottom) [label="Tokens"]
}

Modèles associés

Workflow de suppression de compte

business-operations

Workflow de suppression de compte avec saisie du motif d’annulation, proposition de rétention, résiliation de l’abonnement, nettoyage des données et email de confirmation.

Workflow de rotation de clé API

business-operations

Workflow de rotation de clé API avec génération d’une nouvelle clé, période de transition à double clé, notification aux clients, dépréciation de l’ancienne clé et journalisation pour audit.

Processus de contestation de facturation

business-operations

Processus de contestation de facturation avec enregistrement de la contestation, examen des transactions, analyse de fraude, décision de résolution et gestion de la réponse au rétrofacturation (chargeback).

Workflow d’analyse de cohortes

business-operations

Workflow d’analyse de cohortes avec segmentation des utilisateurs par date d’inscription, calcul de courbes de rétention, projection de LTV et identification de motifs comportementaux.