快速开始:授权码 + 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

五步接入

  1. 生成授权请求:跳转浏览器到 /connect/authorize,携带 client_id、redirect_uri、 response_type=code、scope(至少 openid)与 state;推荐同时携带 code_challenge (S256)与 code_challenge_method,并请求 offline_access 以获得刷新令牌。
  2. 用户登录:用户在 PandaAuth 托管登录页完成认证(支持密码、MFA 与 Passkey)。
  3. 接收回调:认证完成后浏览器携带 code 与 state 回到你的 redirect_uri; 先校验 state,再用授权码换令牌。
  4. 换取令牌:向 /connect/token 发起 grant_type=authorization_code 请求, 携带 code、redirect_uri 与 code_verifier;机密客户端附 Basic 方式的客户端凭证。
  5. 使用与续期:携带访问令牌调用你的 API;访问令牌过期前用刷新令牌换新 (grant_type=refresh_token)。令牌不再使用时建议调用 /connect/revoke 吊销。

参考实现

官方示例 samples/PandaAuth.DemoClient(server 仓内)演示了完整流程, 其回调地址形如 http://localhost:5201/callback/login/pandaauth。

下一步