Flymen
Flymen
  • 发布:2018-11-07 17:43
  • 更新:2018-11-08 09:15
  • 阅读:5429

5+app获取cookie

分类:HTML5+

场景:5+app登录后,在app内,打开服务端的页面地址,并附加上app内的cookie,实现免登录服务端页面

过程:在app内通过document.cookie获取不到cookie,app打开服务端的页面使用webview.create,希望可以取到cookie,并通过additionalHttpHeaders配置附加给服务端页面

2018-11-07 17:43 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

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

该问题目前已经被锁定, 无法添加新回复