场景:5+app登录后,在app内,打开服务端的页面地址,并附加上app内的cookie,实现免登录服务端页面
过程:在app内通过document.cookie获取不到cookie,app打开服务端的页面使用webview.create,希望可以取到cookie,并通过additionalHttpHeaders配置附加给服务端页面
场景:5+app登录后,在app内,打开服务端的页面地址,并附加上app内的cookie,实现免登录服务端页面
过程:在app内通过document.cookie获取不到cookie,app打开服务端的页面使用webview.create,希望可以取到cookie,并通过additionalHttpHeaders配置附加给服务端页面
回梦無痕 - 暂停服务
H5 APP,一般后端在用户登录成功之后直接添加cookie即可,然后APP的请求都会自动带上cookie。
当然,也可以在前端调用:
//设置应用发起Http请求时提交的cookie值,调用此接口后所有的请求都生效。
plus.navigator.setCookie( url, value );
Flymen (作者)
感谢回复,我想是登录后获取后端创建的session_id,然后创建webview的时候带上这个,后端可以识别到就放行。
你的方法是登录后,app和后端约定好规则,app生成一串token然后放cookie里,然后让后端去取验证通过放行对吧?
2018-11-08 09:53
回梦無痕
回复 Flymen:后端自己设置session就行了H5+APP默认是带上cookie的,前端不用设置,就像web项目一样就行了。
2018-11-08 09:57
回梦無痕
回复 回梦無痕:前端后端都不用关心session_id的,只需要正常像web项目那样就可以,后端写入session,那么这个会话有效期内session值都有效。前端什么也不用设置。
2018-11-08 10:02
Flymen (作者)
你好,平常的web是这样,因为浏览器回自动帮我们附带这些信息,这个是无感知的。
一个5+app是有多个html文件组成,这些文件在webview中打开,也可以在和服务端交换数据时附带这个session,但创建webview时url设置的服务端的页面地址,app登录已经在服务端创建了session,但服务端没有取到session,所以如何让新webview打开的时候带上seesion实现免登录是目前遇到的一个问题
2018-11-09 10:09
回梦無痕
回复 Flymen:如果APP登录请求的api域名和后面打开url的域名是一致的话,那么新开webview是会识别为同一个会话的,能取到session的。
2018-11-09 10:46