Tag: 移动应用程序

我怎样才能生成一个apk可以运行没有服务器与反原生?

我已经构build了我的应用程序,我可以在本地模拟器上运行它(也可以通过更改debugging服务器在同一networking中的android设备上运行它)。 但是,我想要构build一个apk,我可以发送给没有访问开发服务器的人,我希望他们能够testing应用程序。 我看到有一节在文档的iOS部分使用脱机包。 但我无法弄清楚如何完成相同的android。 这可能吗? 如果是这样,怎么样? 更新:在这个问题的答案( 反应原生android未能加载JS包 ),据说离线包可以从开发服务器下载。 但是,当我从开发服务器获得捆绑的图像文件不能被加载。

为移动应用程序创build一个API – 身份validation和授权

概观 我正在为我的应用程序创build一个(REST)API。 初始/主要目的是供移动应用程序(iPhone,Android,Symbian等)使用。 我一直在寻找不同的机制来validation和授权基于networking的API(通过学习其他实现)。 我的头脑里缠绕着大部分的基本概念,但仍然在一些领域寻找指导。 我想做的最后一件事是重新发明轮子,但是我没有find符合我的标准的标准解决scheme(但是我的标准被误导了,所以也可以随意批评)。 另外,我希望API对于所有使用它的平台/应用程序都是一样的。 OAuth的 我会继续向oAuth抛出我的反对意见,因为我知道这可能是提供的第一个解决scheme。 对于移动应用程序(或更具体的非Web应用程序),将应用程序(转到Web浏览器)进行身份validation似乎是错误的。 此外,浏览器无法(我知道)将callback函数返回给应用程序(特别是跨平台)。 我知道有几个应用程序可以这样做,但是它只是感觉不对而且在应用程序用户体验(UX)方面有所突破。 要求 用户input用户名/密码到应用程序。 每个API调用都由调用应用程序标识。 开销保持在最低限度,对于开发者来说,authentication方面是直观的。 该机制对于最终用户(他们的login凭证不公开)以及开发者(他们的应用凭证不公开)是安全的。 如果可能的话,不要求https(绝不是硬性要求)。 我现在的执行思路 外部开发人员将请求一个API帐户。 他们将收到apikey和apisecret。 每个请求至less需要三个参数。 apikey – 在注册时给予开发者 时间戳 – 双倍作为给定apikey的每个消息的唯一标识符 散列 – 时间戳+ apisecret的散列 apikey需要识别发出请求的应用程序。 时间戳的作用类似于oauth_nonce,并避免/减轻重放攻击。 哈希确保请求实际上是从给定apikey的所有者发出的。 对于通过身份validation的请求(代表用户完成的),我仍然不确定要使用access_token路由还是用户名和密码哈希组合。 无论哪种方式,在某个时候,用户名/密码组合将是必需的。 所以当它的时候,会使用几条信息(apikey,apisecret,timestamp)和密码的散列。 我喜欢这方面的反馈意见。 仅供参考,他们将不得不先散列密码,因为我不存储密码在我的系统没有散列。 结论 仅供参考,这不是一个如何构build/构buildAPI的请求,而只是如何处理来自应用程序中的validation和授权。 随机思考/奖金问题 对于仅需要apikey作为请求一部分的API,如何防止除apikey所有者以外的人能够看到apikey(由于发送明文),并提出过多的请求来推动他们超出使用限制? 也许我只是在想这个,但是不应该有什么东西来validation一个请求被apikey所有者validation了吗? 在我的情况下,这是apisecret的目的,它不会被显示/传输没有被哈希。 说到哈希,md5 vs hmac-sha1呢? 当所有的数据都用足够长的数据(即apisecret)进行散列时,真的很重要吗? 我以前曾经考虑添加每个用户/行盐到我的用户密码哈希。 如果我这样做,那么应用程序如何能够在不知道所使用的盐的情况下创build一个匹配的哈希?