Dokumentation
Öffentliche API
Die 2FA-Konten eines Teams auflisten und deren TOTP-Codes mit einem eigenen Token aus Ihren Werkzeugen abrufen.
Die API erlaubt einem berechtigten Client, die 2FA-Konten eines Teams aufzulisten und deren TOTP-Codes abzurufen.
export API_URL="https://app.shareauth.net"
export API_TOKEN="1|ihr-sanctum-token"
Verwenden Sie im Produktivbetrieb ausschließlich HTTPS. Anfragen und Antworten sind im JSON-Format.
Authentifizierung
Erzeugen Sie ein Sanctum-Token:
curl -X POST "$API_URL/api/tokens/create" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"email":"[email protected]",
"password":"passwort",
"device_name":"mein-konnektor",
"code":"123456"
}'
Das Feld code ist nur erforderlich, wenn das Konto seine Anmeldung mit 2FA schützt. recovery_code kann an seine Stelle treten.
Antwort:
{
"token": "1|abcdefghijklmnopqrstuvwxyz",
"user": {
"id": 12,
"name": "Alice",
"email": "[email protected]"
}
}
Behandeln Sie dieses Token wie ein Geheimnis und senden Sie es fortan im Kopfbereich mit:
Authorization: Bearer 1|abcdefghijklmnopqrstuvwxyz
Accept: application/json
Aktives Team
Die zurückgegebenen Codes gehören stets zum aktiven Team der Nutzerin oder des Nutzers.
Erreichbare Teams auflisten:
curl "$API_URL/api/v1/teams" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Aktives Team wechseln:
curl -X POST "$API_URL/api/v1/teams/42/switch" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
2FA-Konten auflisten
curl "$API_URL/api/v1/secrets" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Gekürzte Antwort:
{
"data": [
{
"id": 7,
"name": "GitHub production",
"issuer": "GitHub",
"digits": 6,
"period": 30
}
],
"meta": {
"total": 1,
"limit": 10,
"remaining": 9
}
}
Der TOTP-Seed ist in keiner Antwort enthalten.
Einen Code abrufen
Verwenden Sie die von der Liste zurückgegebene Kennung:
curl -X POST "$API_URL/api/v1/secrets/7/generate" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Accept: application/json"
Antwort:
{
"data": {
"secret_name": "GitHub production",
"code": "123456",
"next_code": "654321",
"time_remaining": 18,
"period": 30,
"expires_at": "2026-08-13T12:00:30.000000Z"
}
}
Jede Erzeugung wird im Zugriffsprotokoll des Teams festgehalten. Protokollieren Sie den Code nicht auf der Clientseite.
Fehler
| Status | Bedeutung |
|---|---|
401 |
Token fehlt oder ist ungültig |
403 |
Zugriff verweigert oder Geheimnis außerhalb des aktiven Teams |
404 |
Ressource nicht gefunden |
422 |
ungültige Daten, fehlendes Team oder Code nicht erzeugbar |
429 |
Grenze von 60 Anfragen pro Minute überschritten |
Ein Validierungsfehler hat in der Regel diese Form:
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."]
}
}
MCP-Konnektor
Der fertige Konnektor für ChatGPT, Codex, Claude und weitere MCP-Clients ist in mcp-server/README.md im Projekt-Repository dokumentiert.