{"name":"Mock OIDC Issuer","issuer":"https://ralphstore.com","docs":"https://ralphstore.com/docs","endpoints":{"oidc_discovery":"GET  https://ralphstore.com/.well-known/openid-configuration","jwks":"GET  https://ralphstore.com/.well-known/jwks.json","issue_workload":"POST https://ralphstore.com/token/workload","issue_human":"POST https://ralphstore.com/token/human","issue_github":"POST https://ralphstore.com/token/github","issue_custom":"POST https://ralphstore.com/token/custom","debug_keys":"GET  https://ralphstore.com/keys","decode_token":"POST https://ralphstore.com/decode"},"quick_start":{"step_1":"Đăng ký FederationIssuer: GET /keys → lấy jwks_url hoặc inline_jwks","step_2":"Lấy JWT: POST /token/workload | /token/human | /token/github","step_3":"Dùng JWT assertion để gọi POST /v1/oauth/token (token exchange)"}}