OAuth
AM 是完整的 OAuth 2.0 與 OpenID Connect 授權伺服器,可簽發 token、驗證 scope,並與任何相容 OAuth 的系統整合。
無論你正在建置行動 App、SPA、IoT 裝置或服務對服務整合,AM 都提供對應流程。
支援流程
Authorization Code(含 PKCE)
適用於 Web 與行動 App。支援 S256 與 plain PKCE 方法。
Device Authorization(RFC 8628)
適用於無瀏覽器的 TV、CLI 與 IoT 裝置。
Refresh Token
不需重新登入即可取得新的 access token。
Client Credentials
服務對服務驗證,不涉及使用者。
JWT Bearer(RFC 7523)
以簽章 JWT 換取 access token。
SAML 2.0 Bearer(RFC 7522)
以 SAML assertion 換取 access token。
Token Exchange(RFC 8693)
將既有 access token 交換為更具體用途的 token。
端點
| Endpoint | 用途 |
|---|---|
/oauth2/authorize | 啟動授權並顯示登入頁 |
/oauth2/token | 以 code/憑證交換 token |
/oauth2/userinfo | 取得使用者 profile claims(OIDC) |
/oauth2/introspect | 驗證 token(RFC 7662) |
/oauth2/revoke | 使 refresh token 失效 |
/oauth2/device_authorization | 啟動 device flow |
/.well-known/openid-configuration | OIDC discovery |
/.well-known/jwks.json | 公開簽章金鑰 |
Scopes
| Scope | 授與存取範圍 |
|---|---|
openid | OIDC ID token |
profile | 名稱、頭像、語系 |
email | Email 位址與驗證狀態 |
offline_access | Refresh token |
Token 設定
可依 client 設定:
- Access token 壽命(預設:1 小時)
- Refresh token 壽命(預設:14 天)
- ID token claims
- 簽章演算法(RS256)
- Cookie 儲存選項
相關
- 用戶端 - 用戶端設定
- Client - 用戶端資源
- Backend 整合 - Token 驗證