现在有很多 APP 都是使用混合开发模式,其中 APP 登录一般都是使用原生开发的方式实现的,但是如果我在 APP 内需要访问一个需要登录用户才能访问的页面, 请问如果将用户登录状态(身份认证信息)通过 APP 内的 webview 发出的 HTTP 请求带到服务器?
自己的解决方案:
在需要登录的页面,用户访问的时候,通过 JS,使页面和 APP 进行通信,把用户的加密后的 session 写到 webview 的 cookie 中去,这样就自然完成了用户在页面的登陆过程,但是这个方法带来的问题是,app 如何处理用户的登出?一种做法是 APP 在用户登出的时候进行事件回调主动清除 webview 中的 cookies;
APP 客户端对用户 webview 中的 HTTP 请求进行监听,如果发现是需要登录的页面,那么 APP 加密用户的认证信息,形成一个参数,然后将这个参数附加在 URL 中,这样该请求就会携带用户认证信息至服务器,完成用户认证的过程;
请问大家,你们一般用什么方案?这些方案的安全性如何?像京东、招商银行之类的 APP 也有这样的需求场景,请问这些大佬们一般用的是什么方法?