在AndroidjQuery Mobile App中保存凭据

在AndroidjQuery Mobile App中保存凭据,第1张

概述我们在 Android中包装了一个带有Webview控件的jQuery移动应用程序. jQuery移动应用程序有一个登录页面.我们希望允许用户保存他们的登录信息. 诀窍是客户希望我们不使用cookie来这样做. 解决方案/问题#1: 我们已经考虑过可能创建一个调用身份验证服务并存储令牌的Android登录屏幕.然后,令牌通过url属性中的querystring传递到webview.然后,jQuer 我们在 Android中包装了一个带有WebvIEw控件的jquery移动应用程序. jquery移动应用程序有一个登录页面.我们希望允许用户保存他们的登录信息.

诀窍是客户希望我们不使用cookie来这样做.

解决方案/问题#1:

我们已经考虑过可能创建一个调用身份验证服务并存储令牌的AndroID登录屏幕.然后,令牌通过url属性中的querystring传递到webvIEw.然后,jquery移动应用程序可以从查询字符串中获取令牌并对其进行验证,从而允许绕过移动应用程序的登录屏幕.

然而,问题是……当用户通过jquery移动应用程序注销时会发生什么?移动应用程序如何告诉AndroID包装器删除令牌?

解决方案#2,但同样的问题

相同的AndroID登录屏幕,但不是通过查询字符串参数传递它,在AndroID端使用JavaScript,遍历WebvIEw DOM并在jquery移动登录屏幕上填写用户名和密码.如果在启动应用程序时AndroID端存在该令牌,则只需绕过AndroID登录屏幕并自动填写用户凭据即可.

但是,用户手动注销仍然存在同样的问题.

我们是不是正确地考虑这个问题?

想法?

解决方法 您可以使用webvIEws localstorage.您必须使用WebVIEwSettings类在WebvIEw中启用它:

WebSettings settings = webvIEw.getSettings();settings.setDomStorageEnabled(true);

现在,您应该可以使用JavaScript访问localstorage,就像支持它的任何其他浏览器一样:

window.localstorage// Set valuewindow.localstorage.setItem("username","XXX");// getting the valuevar username = window.localstorage.getItem("username");

备选方案2:
为您的应用程序创建一个JavaScript界面​​.这将允许您创建和调用在您的AndroID应用程序中触发Java代码的JavaScript函数.此主题在此处描述:“将JavaScript代码绑定到AndroID代码”下的http://developer.android.com/guide/webapps/webview.html

总结

以上是内存溢出为你收集整理的在Android / jQuery Mobile App中保存凭据全部内容,希望文章能够帮你解决在Android / jQuery Mobile App中保存凭据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1127014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存