安全 混合式开发的 App,在访问网页时,如何携带用户登录状态 (身份认证信息)?

flybee · 2018年08月27日 · 最后由 pynix 回复于 2018年08月28日 · 6901 次阅读

现在有很多 APP 都是使用混合开发模式,其中 APP 登录一般都是使用原生开发的方式实现的,但是如果我在 APP 内需要访问一个需要登录用户才能访问的页面, 请问如果将用户登录状态(身份认证信息)通过 APP 内的 webview 发出的 HTTP 请求带到服务器?

自己的解决方案:

  1. 在需要登录的页面,用户访问的时候,通过 JS,使页面和 APP 进行通信,把用户的加密后的 session 写到 webview 的 cookie 中去,这样就自然完成了用户在页面的登陆过程,但是这个方法带来的问题是,app 如何处理用户的登出?一种做法是 APP 在用户登出的时候进行事件回调主动清除 webview 中的 cookies;

  2. APP 客户端对用户 webview 中的 HTTP 请求进行监听,如果发现是需要登录的页面,那么 APP 加密用户的认证信息,形成一个参数,然后将这个参数附加在 URL 中,这样该请求就会携带用户认证信息至服务器,完成用户认证的过程;

请问大家,你们一般用什么方案?这些方案的安全性如何?像京东、招商银行之类的 APP 也有这样的需求场景,请问这些大佬们一般用的是什么方法?

url 里面带 token 是最方便快捷的吧。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号