快速开始:授权码 + PKCE
PandaAuth 实现标准 OIDC / OAuth 2.0。接入一个 Web 应用只需标准的授权码流程(推荐始终开启 PKCE), 不需要任何专有 SDK——任何标准 OIDC 客户端库(.NET 的 OpenIddict Client、Microsoft.Authentication.WebAssembly.OIDC、 NextAuth 等)都可以直接对接。
前置条件
- 一个由管理员创建并配置好的客户端(Client ID / Redirect URI 白名单 / 必要权限); 客户端的创建与白名单管理目前通过部署方运维通道办理(接入洽谈:hello@pandalabs.cc)。
- 确认部署实例的 Discovery 地址可用:
https://<你的认证域名>/.well-known/openid-configuration
五步接入
- 生成授权请求:跳转浏览器到
/connect/authorize,携带client_id、redirect_uri、response_type=code、scope(至少openid)与state;推荐同时携带code_challenge(S256)与code_challenge_method,并请求offline_access以获得刷新令牌。 - 用户登录:用户在 PandaAuth 托管登录页完成认证(支持密码、MFA 与 Passkey)。
- 接收回调:认证完成后浏览器携带
code与state回到你的redirect_uri; 先校验state,再用授权码换令牌。 - 换取令牌:向
/connect/token发起grant_type=authorization_code请求, 携带code、redirect_uri与code_verifier;机密客户端附 Basic 方式的客户端凭证。 - 使用与续期:携带访问令牌调用你的 API;访问令牌过期前用刷新令牌换新
(
grant_type=refresh_token)。令牌不再使用时建议调用/connect/revoke吊销。
参考实现
官方示例 samples/PandaAuth.DemoClient(server 仓内)演示了完整流程,
其回调地址形如 http://localhost:5201/callback/login/pandaauth。