kandi-login
Integration Conformance Validator
Point this at your server to verify your kandi-login/server integration is implemented correctly. Tests validate all auth endpoints, JWT structure, token lifecycle, test personas, and UserAdapter conformance.
.../loginConnection
OPTIONS request returns CORS headers
Error Handling
Returns 400 when id_token is missing
Returns 401 for invalid refresh token
Returns 401 without Authorization header
Returns 200 for stateless logout
OAuth Redirect
Returns 302 redirect to OAuth provider
Test Personas
Creates test personas in database via UserAdapter
Returns list of available test personas
Signs real JWTs for a test persona
Token Lifecycle
Returns user profile for valid access token
Returns new access + refresh token pair (rolling)
Access token contains sub, email, iss, type="access"
UserAdapter Conformance
Re-seeding does not duplicate users (findByProviderId works)
Validate endpoint resolves user from token sub claim
Returned user has required id and email fields
What this validates
createAuthServer() returns all 6 handlers + 3 test handlerssub, email, iss, type claimsUserAdapter.findByProviderId() prevents duplicate users on re-seedUserAdapter.getUserById() resolves user from JWT sub claimid and email fields