LoginID Authorization Token
The approach to user authentication within application integrations uses JWT Stateless Sessions for secure and efficient user session management. LoginID defines this token as a LoginID Token.
JWT Stateless Sessions
LoginID employs JWTs, referred to as LoginID Tokens, signed with an ES256 private key exclusive to LoginID, to create user sessions.This ensures the integrity and authenticity of session data by preventing unauthorized alterations. The choice of ES256 signatures balances strong security with performance efficiency, offering robust cryptographic protection with smaller key sizes compared to RSA.
These JWTs are entirely stateless, meaning no user session information is stored on LoginID servers. Instead, session details are embedded within the JWT claims, enabling scalable and efficient authentication by removing the need to store session states server-side. This stateless approach not only makes it easier to design systems but also enhances performance.
Session JWT Claims
The payload of a JWT contains specific claims that detail the session information:
{
"aud": "136871ee-1fa5-4975-bc0b-a20752890b80",
"credID": "8f3ad5cc-73bd-496f-b1de-0dda413c793b",
"exp": 1723776079,
"iat": 1723775479,
"iss": "https://136871ee-1fa5-4975-bc0b-a20752890b80.api.loginid.io",
"scopes": [
"passkey:read",
"passkey:write",
"auth:write"
],
"sub": "babf9d64-de82-47d0-b1b2-468d56cf486e",
"tokenType": "jwtAccess",
"username": "user@loginid.io",
"verify": "/fido2/v2/mgmt/token/verify"
}