我是 Okta 的新手,如果我的问题不清楚,我深表歉意。
所以我要做的基本上是解析okta生成的JWT token,并提取与之关联的登录用户的组信息。
我的印象是这些信息应该存在于 OidcUser 对象中。我确实在此对象中看到了用户名/电子邮件 ID/令牌有效性等信息。不幸的是,我看不到需要进一步处理的组 ID。
@RequestMapping("/")
public String hello(@AuthenticationPrincipal OidcUser user){
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, Object> entry : user.getClaims().entrySet()) {
sb.append(entry.getKey() + ":" + entry.getValue().toString());
sb.append("\n");
}
sb.append("|");
sb.append(user.getClaims());
return sb.toString();
}
这是我在 Spring Boot 中的 okta 插件
okta.oauth2.issuer=https://dev-XXXXXXXX.okta.com/oauth2/default
okta.oauth2.client-id=XXXXXXXXXX
okta.oauth2.client-secret=XXXXXXXXXXXX
我想知道我的方法是否正确,以及我还需要做什么才能从 Okta JWT 令牌中提取用户组。