什么是AAT和如何获取它

授权API令牌(AAT)是一个特殊的OAuth2访问令牌,范围为uma_authorization。创建用户时,Keycloak会自动将角色uma_authorization分配给用户。 uma_authorization是默认的领域角色。

AAT使客户端应用程序能够查询服务器的用户权限。

客户端应用程序可以像Keycloak一样从其他OAuth2访问令牌获取AAT。通常,在Keycloak成功验证用户后,客户端应用程序将获得AAT。默认情况下,授权代码授权类型用于对用户进行身份验证,服务器将向代表其执行代理的客户端应用程序发出OAuth2访问令牌。

下面的示例使用资源所有者密码凭证授予类型来请求AAT:

curl -X POST \
    -H "Authorization: Basic aGVsbG8td29ybGQtYXV0aHotc2VydmljZTpwYXNzd29yZA==" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d 'username=${username}&password=${user_password}&grant_type=password' \
    "http://localhost:8080/auth/realms/${realm_name}/protocol/openid-connect/token"

因此,服务器响应是:

{
  "access_token": ${AAT},
  "expires_in": 300,
  "refresh_expires_in": 1800,
  "refresh_token": ${refresh_token},
  "token_type": "bearer",
  "id_token": ${id_token},
  "not-before-policy": 0,
  "session_state": "3cad2afc-855b-47b7-8e4d-a21c66e312fb"
}

results matching ""

    No results matching ""