• 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 和密码

  • 相关阅读:
    有向强连通分支Tarjan算法
    让理科生沉默,让文科生落泪的题
    迷宫求解(数据结构栈应用)
    编程中无穷大常量的设定技巧
    poj 3159 差分约束+spfa
    codevs 1690 线段树
    uvalive 2756 环形排列颠倒的次数
    poj 2182 树状数组
    uva 10943 数学
    uva 10780 分解质因数
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/10849741.html
Copyright © 2020-2023  润新知