OAuth2在微服务架构中的应用

首先是为什么要在微服务场景使用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 和密码

转载于:https://www.cnblogs.com/hzhuxin/p/10849741.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值