2.10. 使用 bearer 令牌配置身份验证和授权
2.10.1. bearer 令牌身份验证
您可以使用 BEARER_TOKEN
身份验证机制授权发送到应用程序的 HTTP 请求。在 Web 浏览器等客户端向应用程序发送 HTTP 请求后,BEARER_TOKEN
机制验证请求 的授权 HTTP
标头中是否存在 bearer 令牌。
Elytron 支持使用 bearer 令牌(如 OpenID Connect ID 令牌)或利用 OAuth2 兼容授权服务器发布的不透明令牌进行身份验证。请参阅其他资源部分。
以下示例显示 Authorization
HTTP 标头包含 mF_9.B5f-4.1JqM
bearer 令牌:
GET /resource HTTP/1.1 Host: server.example.com Authorization: Bearer mF_9.B5f-4.1JqM
BEARER_TOKEN
机制现在可以提取 bearer 令牌字符串,并将它传递到 token-realm
实施以进行验证。如果实施成功验证 bearer 令牌,Elytron 将根据令牌代表的信息创建一个安全性上下文。应用可以使用此安全上下文来获取请求者的信息。然后,它可以通过提供请求者对 HTTP 资源的访问权限来决定是否满足请求。
如果请求者不提供 bearer 令牌,BEARER_TOKEN
机制会返回 401 HTTP
状态代码。例如:
HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer realm="example"
如果请求者无权访问资源,BEARER_TOKEN
机制将返回 403 HTTP
状态代码。
HTTP/1.1 403 Forbidden
其他资源
- 有关 JWT 验证的详情,请参考配置 JSON Web Tokens(JWT)身份验证。
- 如需有关 OAuth2 验证的信息,请参阅使用 OAuth2 兼容授权服务器发布的令牌配置身份验证。
-
有关可用于
token-realm
的属性的更多信息,请参阅 如何配置服务器安全 指南中 的表 A.93.token-realm
Attributes。