安全认证代理的透明接入

7 13

安全认证代理的透明接入

背景

之前在sina做一个移动办公应用的安全对外发布代理(新浪口袋)时,是在openresty中的location中专门提供了认证的接口,app需要认证时将认证信息全部发给代理,在代理层进行动态口令与静态口令的认证。

认证通过后,再由代理在header中附加了认证信息给后端。现在又接到了类似项目,就改为了透明接入的方式,现有的客户端与服务器端只需做很少的改动就能接入。

不方便多说,只简单提一下:

  1. 安全代理层与后端共有2重的身份认证,访问后端服务器时,如果代理层的身份认证没通过则返回一个特定的json串,客户端app就知道该发起登录认证的请求了。
  2. 认证的接口是在白名单中放行的,不做访问控制,但是代理会劫持请求的响应信息,通过后端服务器的返回结果,代理便可判断用户是否登录成功,是否颁发有实效的token。