尝试使用phonegap对我现有的Web应用程序进行简单的登录
Trying to do a simple login with phonegap to my existing web application
>我有一个非常大的操作网络移动优化网站。
我想开发一个基本的混合应用程序,也许使用phonegap来验证我的大型Web应用程序的用户,也许使用Web视图。
你可能会问我为什么要这样做?我希望用户能够在移动环境中体验我的 Web 应用程序,并将其登录名和用户名存储在本地,这样他们就不必登录到 Web 应用程序,因为会话在 Web 应用程序中的 5 分钟后过期。
此外,移动应用程序可以简单地将磁贴添加到他们的设备以方便使用。
我无法转换整个网络应用程序,因为它太大了。我使用MySQL作为外部数据库和PHP/HTML/JavaScript。我找不到任何有用的 phonegap 基本登录示例,这些示例既可以登录到外部数据库,又在本地将凭据存储在混合应用程序设备上。
这里有什么想法吗?当数据库中的用户/密码更改时,身份验证必须与混合和 Web 应用程序更新/同步。
天哪,你肯定在这个上面打开了一罐蠕虫!
有几种方法可以做到这一点:
使用 JWT 身份验证。在登录时发送令牌,并让令牌的生存期指示登录的有效期,但 ALWAY 验证令牌,如果签名不匹配,则永远不要信任令牌有效负载。这样做的好处是,即使应用程序已硬停止,会话在令牌中规定的持续时间内仍处于活动状态(只要将令牌保存在设备上,并在每次请求时发送令牌)。
至于 cookie 方法,我个人在将会话持续到科尔多瓦应用程序的硬停止之后遇到了问题(这意味着关闭手机会删除 cookie)。如果这对你来说没问题,那么jQuery的ajax有最好的解决方案。在beforeSend
中将xhr.withCredentials
设置为true
,会话详细信息将发送到服务器。但我想强调的是,与代币方法相比,这种会话方法不是永久性的。
除了这个会话之外,只需将页面中的HTML代码替换为您想要显示的内容在Cordova中就足够了。 这意味着您无法发送<header>
。您必须仅发送<body>
中的内容,不包括标签本身。如果您使用的是jQuery Mobile,所有这些都将进入您的data-type="page"
编辑:将您的 cordova 应用程序视为一个 Web 浏览器,而不是一个必须拥有所有 html 才能有效的应用程序
希望这有帮助
- 在Web应用程序中使用Highcharts javascript
- 将下载链接从web浏览器传递给第三方应用程序
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- Web应用程序,将成员状态更新为其他成员
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- web浏览器中的离线应用程序存储数据并在之后上传
- 使用Ember的Web应用程序架构.动画逻辑应该放在哪里
- 如何使用默认的网络摄像头拍摄照片并将其保存在我的c#.net web应用程序中
- c#web应用程序中的条形码打印
- 使用javascript为web应用程序自定义键盘快捷键
- 使用angularjs和node.js时的Web应用程序文件夹结构
- PhpWindows 8.1版本上的Javascript web应用程序
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 无法在Windows 10 Cordova应用程序中从Web视图进行ajax调用
- 如何获取使用我们的脚本或web应用程序的网站名称
- 没有框架/DLL的VS Web应用程序项目
- 正确传输和保护用户'web应用程序的密码
- 检查Progressive web应用程序中的网络更改
- 如何在应用程序>Web浏览器控件中使用Google Maps API v3 ClientID