jhipster spring boot自定义身份验证提供程序

时间:2017-06-19 08:41:34

标签: spring-boot jwt jhipster restful-authentication

我想为我的REST API设置自定义身份验证机制。这将用于使用JWT令牌的IOT设备认证,因此我不能使用现有的基于用户的JHipster认证。 是否有一个示例或指南?除了Spring Boot的底层机制之外,JHipster还有什么特定的东西吗?

结构: 典型的JHipster架构,具有独立的网关和微服务应用程序。微服务应用程序提供需要使用jwt令牌进行身份验证的休息服务。网关应用程序为Web用户生成令牌,凭据基于用户名和密码。

我想扩展此设置并为我们的iot设备打开相同的休息服务。这些设备不是Web用户,因此他们没有用户名+密码凭据,因此没有生成jwt令牌。我们将在安全的网络上注册这些设备,并将jwt令牌嵌入到固件中。这些jwt令牌将基于设备ID,mac id和密钥。

我还没有尝试任何方法,我正在寻找一个示例代码,我可以在微服务应用程序上扩展身份验证代码,以便它还可以验证来自设备的请求。添加带有弹簧启动的自定义身份验证提供程序似乎是要走的路,但我不确定。

1 个答案:

答案 0 :(得分:0)

我已经使用某些特定的Android设备做了类似的事情,我们的方法是仅为设备部署网关,而不是尝试与同一网关上的人类用户混合。所以这意味着每个特定用途都有一个网关。

2个网关发布的JWT令牌应该共享相同的秘密,以便服务可以验证其签名。然后你要保留JHipster令牌,你只需要为人类和设备分配不同的角色和/或你在令牌头中添加网关发行者。

根据您的安全要求,您可以通过将“设备ID + mac地址”映射到网关用户ID并将您的密码映射为用户密码,轻松构建此设备网关。