java - 通过会话 id cookie 而不是 JWT 连接到 Android 上的 REST API
问题描述
除了改造这件事,我找不到任何东西。是否使用了 Android 开发人员不使用的 cookie,或者为什么很难找到有关通过使用会话 id cookie 而不是 JWT 连接到 REST API 的任何信息?
此外,互联网上的大多数教程甚至都不使用 TLS。甚至不要提及用户关闭应用程序并且在他的下一个会话中没有可用的 cookie 的可能性。因此,没有关于从本地存储中存储和检索 session_id 字符串以供以后在后续连接等中重用的内容。
你能推荐一个原生的Android实现吗?一些示例代码如何在 Android 应用程序中使用会话 id cookie 并将它们存储起来,以便用户可以关闭应用程序并稍后再次运行,他将重用存储的会话 id 并将 cookie 与 json 请求一起发送到远程服务器。
如果这是一些公开不可用的秘密信息,您能否建议一些有关 udemy 的付费课程或他们做这些事情的地方,并教您在连接到 API 时如何在 Android 应用程序中存储和重用 cookie 的正确方法?
解决方案
Android 与浏览器的不同之处在于它不会为您管理 cookie。cookie 只是一个标题。因此,当您收到网络响应时,从响应头中获取令牌,将其保存在某处(我建议SharedPreferences),然后在以后的请求中使用它(我建议使用 okhttp 的拦截器:阅读this或this)。
推荐阅读
- spring - 多次提交后如何手动确认偏移量
- python - 如何在文本中获取匹配的 n-gram 的偏移量
- java - 环境变量 JAVA_STARTED_ON_FIRST_THREAD 即使指定也返回 null
- ios - 应用商店网址在 safari 中打开,但未在 chrome 中打开。可能是什么问题?
- python - UnboundLocalError:分配前引用的局部变量“a1”
- javascript - Safari 剪贴板错误“TypeError: undefined is not an object”
- json - 如何使用机器人框架代码从列表中获取第一个键?
- java - 只想从我的手机图库中添加图片到数据库中,但在两者之间遇到了一些问题
- python - 没有名为 azure.cosmos.cosmos_client 的模块
- javascript - 如何在 Vive Focus Android WebView 的 JavaScript 中删除输入字段的选择突出显示?