小编Den*_*sch的帖子

移动应用程序的API身份验证(通过短信)

我们目前的任务是实现一个(最好是简单的)身份验证系统,用于与RESTful API进行移动应用程序通信.后端具有用户特定的数据,由用户的电话号码标识.我试图更多地了解安全性,不同的方法以及它们工作方式的原因.

我想到了一个简单的身份验证系统:

  • 客户端向api发送验证请求,其中包括他们的电话号码和生成的guid.
  • 服务器使用验证码向电话号码发送SMS消息.
  • 客户端通过发送其唯一的guid,电话号码和验证码来验证其设备.
  • 服务器使用某种访问令牌进行响应,客户端可以使用该令牌进行进一步的请求.

我有以下问题:

这种方法有什么重大缺陷吗?假设我们使用HTTPS,它是否足够安全以发送未加密的数据?访问令牌是否可以安全地存储在移动设备上,以便只有我们的应用程序可以读取它们?还有什么我们还没有想到的吗?

我们已经发现,当手机被盗或以其他方式受到损害时,数据不再安全,但这是一个难以克服的风险.访问令牌可以暂时有效,以最大限度地降低此风险.

我假设这种方法很简单,某处有一个巨大的缺陷:)你能开导我吗?

architecture security api mobile

8
推荐指数
1
解决办法
2499
查看次数

使用Urban Airship跟踪活动用户的推送通知

我们目前正在实施推送通知(目前仅适用于IOS),我们正计划使用Urban Airship.如果他们安装了我们的应用并启用了推送,我们希望向设备发送推送消息,如果没有,则发送短信.我们的用户为通知付费,因此我们希望尽可能确保他们始终获得推送消息或短信.发送推送消息本身工作正常,但我很困惑如何跟踪我们实际上可以发送推送消息的人.

据我所知,真正确定用户是否可以接收推送消息的唯一方法是,在发送推送消息之前,另外调用城市飞艇api以检查设备是否存在且处于活动状态.我宁愿不为每个推送消息做2个api呼叫,因此可以选择在本地跟踪城市飞艇中的所有已注册设备,并且每小时左右更新一次该列表.然而,这意味着"有源设备列表"并不总是完全准确,我们必须自己跟踪所有已注册的设备,这就像重新实现城市飞艇的一部分一样.

有没有其他(更好)的方法来做到这一点?据我所知,当我向城市飞艇发送推送消息时,无论设备是否处于活动状态,或者是否存在,api始终会返回成功发送的消息.

我无法想象我是唯一有这个问题的人.有没有人有更好的解决方法,或者我坚持自己想出的2个选项?

push-notification urbanairship.com ios

5
推荐指数
1
解决办法
954
查看次数