Firebase FCM令牌作为Android的安全令牌

时间:2016-11-14 13:36:59

标签: android firebase-cloud-messaging android-security

我正在开发一款Android应用,并想知道是否使用FCM令牌作为授权令牌(并删除当前的自定义令牌)也是一种不错的做法。

示例场景:

  1. 首次启动应用程序时,用户获取新内容 FCM令牌
  2. 使用登录数据,应用程序还会发送令牌
  3. 成功登录后,令牌将存储在服务器上(生成的到期日期),并且从现在开始将与每个令牌一起发送 来自客户的请求
  4. 服务器使用令牌验证请求和发送推送通知
  5. 当通过令牌到期日期时,请求将失败,用户将被重定向到登录
  6. 到目前为止一切都很好,但FCM令牌轮换怎么办? 我应该在共享首选项中保存FCM令牌吗? 用户如何登录多个设备?

    对此事的任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

如果您使用令牌验证客户端的真实性,这不是一个好习惯,因为FCM对于该特定设备上的所有帐户都是相同的。因此,在您的情况下,您将验证设备而不是用户。

答案 1 :(得分:0)

您可以通过调用

来验证FCM令牌
(GET) https://iid.googleapis.com/iid/info/YOUR_APP_TOKEN_HERE
[Header] => 'Authorization: key=YOUR_KEY'

简单易用。

如果令牌有效,则它将以JSON格式返回200个状态代码以及更多详细信息;如果无效,则状态代码将以JSON格式返回400个错误详细信息。

在此代码服务器端实现。从数据库获取令牌并传递上述URL,无论令牌是否过期,它都会向您发送令牌状态。