美文网首页
iOS开发,将本地token添加到WKWebView 的请求头中

iOS开发,将本地token添加到WKWebView 的请求头中

作者: 深圳阳光 | 来源:发表于2020-06-10 12:06 被阅读0次

    开发需求:我们在开发中,往往需要跳转到H5专题界面展示一些H5的活动界面,这个时候往往就会遇到如何实现原生的登录状态与H5同步的问题。
    实现方法一,可以通过原生与JS交互,将token传给JS,再通过前端开发人员获取token刷新状态。但这种方法有一个弊端,首先请求界面完成后才给前端传token,传完token前端获取到token后还要刷新登录状态。这个时候,加载进度条会加载两次,影响了用户体验,并不是完美的解决方法。
    实现方法二:(极力推荐)将本地token添加到WKWebView的请求头中,一步到位实现H5与原生登录状态同步。实现代码如下:

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.url]];
        NSString *token = [WAWHNetworkHelper getToken];//获取本地保存的token
        if(token.length){
            NSString *domain = @"192.168.1.183";//获取主域名
            [request addValue:[NSString stringWithFormat:@"token=%@;path=/;domain=%@;HttpOnly",token,domain] forHTTPHeaderField:@"Cooike"];
        }
        [self.wk_WebView loadRequest:request];
    

    例如:token=7fa9f4d0f68d4bf1adb803983bf0f985; path=/; domain=192.168.1.183; HttpOnly 这是个固定格式,在iOS端需要将本地token传到浏览器内核中,需要这种格式。token=你从后台拿到的token,domain=你的域名或ip,需要特别注意没有https://或http://等前缀,其余格式是固定格式。

    相关文章

      网友评论

          本文标题:iOS开发,将本地token添加到WKWebView 的请求头中

          本文链接:https://www.haomeiwen.com/subject/ijiutktx.html