OAuth
AM 是完整的 OAuth 2.0 与 OpenID Connect 授权服务器,可签发令牌、校验 scope,并与任何兼容 OAuth 的系统集成。
无论你在构建移动应用、SPA、IoT 设备,还是服务间集成,AM 都支持对应流程。
支持的流程
Authorization Code(含 PKCE)
用于 Web 和移动应用。支持 S256 与 plain 两种 PKCE 方法。
Device Authorization(RFC 8628)
用于无浏览器设备,如电视、CLI、IoT 设备。
Refresh Token
无需重新认证即可获取新的访问令牌。
Client Credentials
服务到服务认证,不涉及用户。
JWT Bearer(RFC 7523)
用签名 JWT 换取访问令牌。
SAML 2.0 Bearer(RFC 7522)
用 SAML 断言换取访问令牌。
Token Exchange(RFC 8693)
将现有访问令牌换成更具体的目标令牌。
Endpoints
| Endpoint | 用途 |
|---|---|
/oauth2/authorize | 发起授权并显示登录界面 |
/oauth2/token | 用 code/credentials 换取令牌 |
/oauth2/userinfo | 获取用户资料声明(OIDC) |
/oauth2/introspect | 验证令牌(RFC 7662) |
/oauth2/revoke | 使 Refresh Token 失效 |
/oauth2/device_authorization | 发起设备授权流程 |
/.well-known/openid-configuration | OIDC Discovery |
/.well-known/jwks.json | 公共签名密钥 |
Scopes
| Scope | 授权内容 |
|---|---|
openid | OIDC ID token |
profile | 姓名、头像、语言区域 |
email | 邮箱地址和验证状态 |
offline_access | Refresh tokens |
令牌配置
可按客户端配置:
- 访问令牌有效期(默认: 1 hour)
- 刷新令牌有效期(默认: 14 days)
- ID token claims
- 签名算法(RS256)
- Cookie 存储选项