IM
FR
Accueil documentation
Menu
Guides

Flux d'administration du backend d'authentification

utilisez le client backend privé pour vous authentifier auprès de « auth.inbox-manager.com » et exécuter des opérations d'utilisateur/compte/adhésion privilégiés.

inbox-manager client-flow

Flux d’administration du backend d’authentification

Objectif : utiliser le client backend privé pour s’authentifier auprès de auth.inbox-manager.com et exécuter des opérations d’utilisateur/compte/adhésion privilégiés.

Remarque sur les limites :

  • Ce guide cible auth.inbox-manager.com et api.inbox-manager.com.
  • Ces points de terminaison se trouvent en dehors de api.inbox-manager.com OpenAPI.

Règle d’audience

  • Ce client permet d’appeler les API api.inbox-manager.com / auth.inbox-manager.com.
  • L’audience du jeton doit être https://api.inbox-manager.com.
  • Le client de l’application publique reste séparé de l’audience https://api.inbox-manager.com.

Flux d’interface utilisateur

  1. Aucune utilisation du navigateur.
  2. Le service backend génère un jeton M2M via les informations d’identification du client.
  3. Le backend exécute les API d’administration utilisateur/compte/membre.
  4. Le backend enregistre les résultats dans le système de travail/journal interne.

Flux de bibliothèque client

const auth = new OAuthClient({
  tokenUrl: "https://auth.inbox-manager.com/oauth2/token",
  clientId: process.env.AUTH_BACKEND_ADMIN_CLIENT_ID!,
  clientSecret: process.env.AUTH_BACKEND_ADMIN_CLIENT_SECRET!,
});

const token = await auth.clientCredentials({
  audience: "https://api.inbox-manager.com",
});

const authApi = new InboxManagerAdminClient({
  baseUrl: "https://api.inbox-manager.com",
  bearerToken: token.access_token,
});

const user = await authApi.createApplicationUser(appId, { status: "active" });
const account = await authApi.createChildAccount(parentAccountId, {
  name: "ops-provisioned",
});
const membership = await authApi.addAccountMember(
  account.id,
  user.id,
  "viewer",
);

Flux HTTP/curl

curl -sS -X POST "https://auth.inbox-manager.com/oauth2/token" \
  -H "content-type: application/json" \
  --data "{
    \"grant_type\": \"client_credentials\",
    \"client_id\": \"${AUTH_BACKEND_ADMIN_CLIENT_ID}\",
    \"client_secret\": \"${AUTH_BACKEND_ADMIN_CLIENT_SECRET}\",
    \"audience\": \"https://api.inbox-manager.com\"
  }"

Alors appelez :

  • POST /api/applications/:application_id/users
  • POST /api/accounts/:account_id/accounts
  • POST /api/accounts/:account_id/members
  • PATCH /api/accounts/:account_id/members/:member_id
  • DELETE /api/accounts/:account_id/members/:member_id
  • PATCH /api/accounts/:account_id
  • DELETE /api/accounts/:account_id
  • DELETE /api/users/:user_id

## Script de validation

  • scripts/auth_backend_admin_flow.sh