Method: Login to StoredSafe

Description

Authenticate to StoredSafe using username, passphrase and a valid token, could be a Yubico OTP, a TOTP or a smartcard. Returns a token used for subsequent calls to the API.

URL Syntax

/api/{version}/auth

HTTP Method

POST

Successful HTTP Response

200

Parameters

Parameter name Description Parameter type Type Mandatory Comment
username StoredSafe username JSON-encoded String yes  
keys Passphrase, API-key and Yubico OTP JSON-encoded String Yubico OTP Only valid for Yubico OTP
passphrase Passphrase JSON-encoded String TOTP, SMC  
otp OTP JSON-encoded String TOTP Only valid for TOTP
apikey API-key JSON-encoded String TOTP, SMC  
logintype Either the string “totp” or “smc_rest” (smartcard) JSON-encoded String TOTP, SMC  

Response Attributes

Attribute Description Type Comment
CALLINFO.errorcodes Number of errors Integer  
CALLINFO.errors Number of errors Integer  
CALLINFO.general Information Array  
CALLINFO.handler Handler used String  
CALLINFO.status SUCCESS or FAIL String  
CALLINFO.token StoredSafe Token to be used for subsequent calls String  
CALLINFO.fingerprint PGP fingerprint of logged in user String  
CALLINFO.userid Numerical user-id String  
CALLINFO.password Pass phrase of logged in user String  
CALLINFO.userstatus Status bits for logged in user String  
CALLINFO.username Username of logged in user String  
CALLINFO.fullname Full name of logged in user String  
CALLINFO.timeout How long the token is valid (in microseconds) Integer  
CALLINFO.filesupport If file handling supported, how many templates use file storage String  
CALLINFO.audit.violations Any system violations Array  
CALLINFO.audit.warnings Any system related warnings Array  
CALLINFO.version StoredSafe version and build number Array  
DATA.username Supplied username String  
DATA.keys Supplied Passphrase, API-key and Yubico OTP String Only valid for Yubico OTP
DATA.passphrase Supplied passphrase String Only valid for TOTP or SMC
DATA.otp Supplied OTP String Only valid for TOTP
DATA.apikey Supplied API key String Only valid for TOTP or SMC
DATA.logintype The string “totp” or “smc_rest” (smartcard) String Only valid for TOTP or SMC
PARAMS PARAMS (empty) Object  

Example using HOTP

Login to StoredSafe and obtain a token used for latter communication.

Request

POST /api/1.0/auth
{
  "username":"foo@example.com",
  "keys":"ThisIsAPrettyLousyPassPhraseMy-API-KeyOhMyCouldThisReallyBeAnOTP"
}

Response

HTTP/2 200
Content-Type: application/json
{
    "CALLINFO": {
        "audit": {
            "violations": [],
            "warnings": []
        },
        "errorcodes": 0,
        "errors": 0,
        "fingerprint": "<PGP fingerprint>",
        "userid": "42",
        "password": "ThisIsAPrettyLousyPassPhrase",
        "userstatus": "396",
        "username": "sven",
        "fullname": "Sven Test",
        "timeout": 3600000,
        "filesupport": 3,
        "general": [
            "Your passphrase is weak and should be changed"
        ],
        "handler": "AuthHandler",
        "status": "SUCCESS",
        "token": "rotated_storedsafe_token",
        "version": "2.1.0"
    },
    "DATA": {
        "apikey": "abcde12345",
        "username": "foo@example.com",
        "keys": "ThisIsAPrettyLousyPassPhraseMy-API-KeyOhMyCouldThisReallyBeAnOTP"
    },
    "HEADERS": {
        "Accept": "*/*",
        "Content-Length": "107",
        "Content-Type": "application/x-www-form-urlencoded",
        "Host": "safe.domain.cc",
        "User-Agent": "curl/7.64.1"
    },
    "PARAMS": []
}

Example using TOTP

Login to StoredSafe and obtain a token used for latter communication.

Request

POST /api/1.0/auth
{
  "username":"foo@example.com",
  "passphrase":"ThisIsAPrettyLousyPassPhrase",
  "otp":"123456",
  "apikey":"My-API-Key",
  "logintype":"totp"
}

Response

HTTP/2 200
Content-Type: application/json
{
    "CALLINFO": {
        "audit": {
            "violations": [],
            "warnings": []
        },
        "errorcodes": 0,
        "errors": 0,

        "token": "your_storedsafe_token",
        "fingerprint": "<PGP fingerprint>",
        "userid": "42",
        "password": "ThisIsAPrettyLousyPassPhrase",
        "userstatus": "396",
        "username": "sven",
        "fullname": "Sven Test",
        "timeout": 3600000,
        "filesupport": 3,
        "general": [
            "Your passphrase is weak and should be changed"
        ],
        "handler": "AuthHandler",
        "status": "SUCCESS",
        "version": "2.1.0"
    },
    "DATA": {
        "username": "foo@example.com",
        "passphrase":"ThisIsAPrettyLousyPassPhrase",
        "otp":"123456",
        "apikey":"My-API-Key",
        "logintype":"totp"
    },
    "HEADERS": {
        "Accept": "*/*",
        "Content-Length": "107",
        "Content-Type": "application/x-www-form-urlencoded",
        "Host": "safe.domain.cc",
        "User-Agent": "curl/7.64.1"
    },
    "PARAMS": []
}