24.2. 使用带有 OAuth 身份验证的自定义授权程序
当使用带有 groupsClaim 配置的 oauth 身份验证从 JWT 令牌中提取用户组信息时,可以在自定义授权调用中使用组信息。组可以在自定义授权调用过程中通过 OAuthKafkaPrincipal 对象访问,如下所示:
public List<AuthorizationResult> authorize(AuthorizableRequestContext requestContext, List<Action> actions) {
KafkaPrincipal principal = requestContext.principal();
if (principal instanceof OAuthKafkaPrincipal) {
OAuthKafkaPrincipal p = (OAuthKafkaPrincipal) principal;
for (String group: p.getGroups()) {
System.out.println("Group: " + group);
}
}
}