诀窍是客户希望我们不使用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中保存凭据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)