Autorisez les demandes de votre CRM externe vers le B2COPY API à l'aide d'un administrateur de service et de jetons signés JWT (ES256). Cette page couvre les conditions préalables, la génération de clés, l'émission de jetons et l'obtention/actualisation des jetons B2COPY.
Conditions préalables
- Créez un service admin dans le panneau d'administration au nom duquel le CRM effectue des requêtes API (il est recommandé de le limiter à des adresses IP spécifiques).
- Configurez votre CRM pour générer des JWT signés dont les revendications incluent
admin_id(l'identifiant de l'administrateur du service),device_ip(la requête IP) etkey_id(l'identifiant de la clé privée).
Générer des clés
Générez une paire de clés EC (P-256) pour signer et vérifier les jetons :
# Private key
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 \
-out ec_private_pkcs8.pem
# Public key
openssl pkey -in ec_private_pkcs8.pem -pubout -out ec_public.pemSécurité
Gardez la clé privée secrète et ne la partagez jamais. Fournissez uniquement la clé public à l'équipe d'assistance B2COPY : elle est utilisée pour vérifier vos JWT signés.
Contacter l'assistance B2COPY
Pour terminer l'intégration, envoyez à l'équipe d'assistance votre clé publique (ec_public.pem), l'identifiant de clé unique et les adresses IP qui appelleront le API. Le support enregistre votre intégration et configure la clé publique.
Obtenir des jetons d'accès et d'actualisation
POST [host]/api/admin/auth/v2/admin/adminservice/authexternalcrm| Nom | Tapez | Obligatoire | Descriptif |
|---|---|---|---|
| external_token | chaîne | Oui | Le JWT signé généré par votre CRM. |
curl -X POST "[host]/api/admin/auth/v2/admin/adminservice/authexternalcrm" \
-d '{ "external_token": "<your-generated-jwt-token>" }'La réponse renvoie des jetons d'accès et d'actualisation pour l'administrateur du service ; incluez le jeton d'accès dans l'en-tête Authorization de toutes les autres demandes.
{
"accessToken": "<access-token>",
"refreshToken": "<refresh-token>"
}Actualiser le jeton d'accès
POST [host]/api/admin/auth/v2/admin/adminservice/refreshtokencurl -X POST "[host]/api/admin/auth/v2/admin/adminservice/refreshtoken" \
-H "Authorization: Bearer <refreshToken>"Renvoie une nouvelle paire de jetons d'accès/actualisation.
