java-keycloak无法获取用户主体

时间:2018-07-18 11:45:23

标签: java spring keycloak

最近,我使用keycloak来保护我的api的某些端点。我想让其余部分保持不安全,因此可以同时登录用户和匿名用户访问它。但是我想获取登录用户的用户主体。我尝试获取Authorizarion标头以获取用户数据,但我认为这不是一个好方法。或者我应该在密钥斗篷上创建访客帐户并保护我的所有端点。

 <dependency>
        <groupId>org.keycloak</groupId>
            <artifactId>keycloak-spring-boot-adapter</artifactId>
        <version>${keycloak.version}</version>
</dependency>

我只是将keycloak适配器用于此模式 /api/v1/secure/*。 但是,如果/api/v1/*的授权标头存在,我想获取用户名。

我尝试

@RequestMapping("/api/v1/hello")
@ResponseBody
public String hello(Principal principal) {
  return "hello " + principal.getName();
}

并抛出NullPointerException,但是当我使用/api/v1/secure/hello时可以使用。

0 个答案:

没有答案