
![[8.5.5.4 或更高版本]](../ng_v8554.gif)
对 OpenID Connect 调用令牌端点
在 OpenID Connect 授权代码流程中,客户机使用令牌端点来获取标识令牌、访问令牌和刷新令牌。
开始之前
关于此任务
令牌端点接受客户机的请求,此请求包含授权端点对客户机发出的授权代码。验证授权代码后,系统返回相应令牌作为对客户机的响应。
OpenID Connect 隐式流程中未使用令牌端点。
已启用 OpenID Connect 的 Liberty 概要文件服务器可访问位于以下 URL 的 OpenID Connect 令牌端点:
https://server.example.com:443/oidc/endpoint/<provider_name>/token
注: 在此示例中,OP 的 SSL 端口应该为 443。带有令牌端点的所有通信必须使用 TLS。
过程
结果
OpenID Connect 提供者验证从客户机接收到的令牌请求时,OpenID Connect 提供者将带有 application/json 格式的 JSON 对象的 HTTP 200 响应返回至客户机。此响应包含标识令牌、访问令牌和刷新令牌及以下附加参数:
- token_type:OAuth 2.0 令牌类型。对于 OpenID Connect,此值为 Bearer。
- expires_in:从生成响应开始算起访问令牌的到期时间(以秒计)。
对于来自包含令牌、密钥或其他敏感信息的令牌端点的所有响应,其 Cache-Control 头值设置为 no-store,Pragma 头值设置为 no-cache。
.示例
以下显示请求示例:
POST /token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
以下显示响应示例:
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "SlAV32hkKG",
"token_type": "Bearer",
"refresh_token": "8xLOxBtZp8",
"expires_in": 3600,
"id_token": "eyJ ... zcifQ.ewo ... NzAKfQ.ggW8h ... Mzqg"
}