2017-06-19 140 views
0

我想为我的REST API设置自定义身份验证机制。这将用于JWT令牌的IOT设备认证,所以我不能使用现有的基于用户的JHipster认证。 有没有一个例子或指导呢?除了Spring Boot的底层机制,有什么特定的JHipster?jijster spring引导自定义身份验证提供程序

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

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

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

+0

Thanks @GaëlMarziou,我已更新我的问题。 –

回答

0

我用一些特定的android设备做了类似的事情,我们的方法是只为设备部署网关,而不是尝试在同一网关上与人类用户混用。所以这意味着每个特定用途的一个网关。

由2个网关发布的智威汤姆币应该共享相同的秘密,以便服务可以验证他们的签名。然后,无论是将JHipster标记保持原样,还是将不同的角色分配给人员和设备,并且/或者您还可以在标记标头中添加网关发行者。

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

+0

这似乎是目前最简单的方法。编写自定义身份验证提供程序就像地狱一样,我根本找不到一个可用的示例。其他的选择是与UAA和Oauth2.0更复杂。谢谢你的提示。 –

相关问题