首页 > 其他 > 详细

OAuth2在微服务架构中的应用

时间:2019-05-11 19:47:26      阅读:224      评论:0      收藏:0      [点我收藏+]

首先是为什么要在微服务场景使用OAuth2,这是因为使用了OAuth2后,就能向第三方系统提供授权。

其次是如何使用,见下图:

技术分享图片

在微服务架构中使用OAuth2,有几个问题需要我们思考:

1. token要不要暴露给前端

    根据OAuth2的code模式的机制,获得code后会进行一次回调,不同的Clientid回调URL是不同的,这个回调正是用来请求获取token的,如果是第三方系统来请求授权,这个回调自然是由第三方实现。出于安全考虑,我们应尽可能不把token传到前端,这里分两种情形:

   (1)  如果是自己的系统,可以把对应的sessionid传递给前端,sessionid与token的对应关系在后台维护好

 (2)如果是第三方的应用,token是先传递到对方的回调URL上的(即后台),由对方决是否要暴露给前端

 

2. 在具体的服务中如何获取访问者的信息,即现在请求服务的人是谁

   具体的服务实现中不考虑sessionid,只认token,所以可以通过JWT类型的token获取访问者的信息。sessionid只是用来对接自己的服务网关的,用于会话管理和让服务网关获取token。至于第三方的对接将通过另外一个网关进入。

 

3.认证中心是如何去调授权中心的

  当认证成功之后,也是通过回调机制去调授权中心请求code值

 

4.clientid 和密码如何获取

   如果是在生产环境下的正式系统,应提供一个页面让第三方可以申请授权,然后产生相应的clientid 和密码

OAuth2在微服务架构中的应用

原文:https://www.cnblogs.com/hzhuxin/p/10849741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!