微服务权限问题认证方式,简单学习

微服务下认证的一些方案

  1. Oauth2的概念,感觉 阮一峰写的理解OAuth 2.0可以对OAuth的概念有较好的了解
  2. 对于权限概念以及怎么搭建权限系统,微服务API级权限的技术架构这篇文章,比较好了解释了RBAC,并简单介绍了买单侠做的工作。 不过对于具体的技术讲的不多
  3. 微服务架构下的安全认证与鉴权,这篇文章,讲的比较全面了,Oauth ,JWT,Session 都有提到,不过Token或者说JWT服务器端的验证还是没讲清楚。燕平方的Server端的认证神器——JWT(一)这篇文章终于道出了JWT服务器端怎么验证。不过对于配置的secretKey这个事情。 我的理解是如果是存在数据库那么重新生成signature的时候还是要访问数据库。 难道是整个认证服务配置一个这样的参数(不过这也是可以的,所有的认证就都基于这个密钥了,可千万不能被攻破)。
  4. 目前作者在处理API权限(主要是针对服务)时,主要是采用客户端利用分发的用户名+密码(不做传输)+时间+参数生成 signature,服务端根据传过来的时间 参数 用户名重新计算出signature。对比之后进行验证。 也是无状态的 但是需要访问数据库。 且客户端也需要计算signature 对于前端来说不太友好。 辅助以ip黑白名单,然后前端工程 配置单点登录,再免密访问其他微服务。 问题在于需要访问数据库,和客户端需要计算。

总结

  • 网络上的讨论主要针对的是用户登陆之后访问微服务(分布式)的问题。
  • 对于API之间的授权,目前也没看到除自主计算token(第4点)更靠谱的方案了,如果有朋友有更好的方案,欢迎指教。

你可能感兴趣的:(微服务)