Documentation
API publique
Consultez les comptes 2FA d’une équipe et récupérez leurs codes TOTP depuis vos propres outils, avec un jeton dédié.
L’API permet à un client autorisé de consulter les comptes 2FA d’une équipe et de récupérer leurs codes TOTP.
export API_URL="https://app.shareauth.net"
export API_TOKEN="1|votre-token-sanctum"
Utilisez uniquement HTTPS en production. Les requêtes et réponses sont au format JSON.
Authentification
Créez un token Sanctum :
curl -X POST "$API_URL/api/tokens/create" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email":"[email protected]",
"password":"mot-de-passe",
"device_name":"mon-connecteur",
"code":"123456"
}'
Le champ code est requis uniquement si le compte protège sa connexion par 2FA. recovery_code peut le remplacer.
Réponse :
{
"token": "1|abcdefghijklmnopqrstuvwxyz",
"user": {
"id": 12,
"name": "Alice",
"email": "[email protected]"
}
}
Conservez ce token comme un secret et transmettez-le ensuite dans l’en-tête :
Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz
Accept: application/json
Équipe active
Les codes retournés appartiennent toujours à l’équipe active de l’utilisateur.
Lister les équipes accessibles :
curl "$API_URL/api/v1/teams" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Changer d’équipe active :
curl -X POST "$API_URL/api/v1/teams/42/switch" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Lister les comptes 2FA
curl "$API_URL/api/v1/secrets" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Réponse abrégée :
{
"data": [
{
"id": 7,
"name": "GitHub production",
"issuer": "GitHub",
"digits": 6,
"period": 30
}
],
"meta": {
"total": 1,
"limit": 10,
"remaining": 9
}
}
La graine TOTP n’est jamais incluse dans les réponses.
Récupérer un code
Utilisez l’identifiant retourné par la liste :
curl -X POST "$API_URL/api/v1/secrets/7/generate" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Réponse :
{
"data": {
"secret_name": "GitHub production",
"code": "123456",
"next_code": "654321",
"time_remaining": 18,
"period": 30,
"expires_at": "2026-08-13T12:00:30.000000Z"
}
}
Chaque génération est enregistrée dans le journal d’accès de l’équipe. Ne journalisez pas le code côté client.
Erreurs
| Statut | Signification |
|---|---|
401 |
token absent ou invalide |
403 |
accès refusé ou secret hors de l’équipe active |
404 |
ressource introuvable |
422 |
données invalides, équipe absente ou code impossible à générer |
429 |
limite de 60 requêtes par minute dépassée |
Une erreur de validation suit généralement ce format :
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."]
}
}
Connecteur MCP
Le connecteur prêt à l’emploi pour ChatGPT, Codex, Claude et les autres clients MCP est documenté dans mcp-server/README.md, dans le dépôt du projet.