【问题标题】:Using cookies to consume other web services from server使用 cookie 从服务器消费其他网络服务
【发布时间】:2013-11-11 22:34:02
【问题描述】:

我有一个用 Java 编写的后端服务器,其中包含由我创建的移动应用程序使用的服务。我使用 Appcelerator 作为第 3 方推送通知服务,他们需要用户登录才能发送推送通知。

这是我希望发生的事件流程:

  1. 用户登录我的应用程序(也可以在此处登录 Appcelerator)
  2. 用户做了一些应该发送推送通知的事情
  3. 请求被发送到我的服务器以发送推送通知
  4. 我的服务器向 Appcelerator 发出请求以发送推送通知

在该过程中的某个地方,需要使用 Appcelerator 进行身份验证。目前,我只是将我的凭据与 Appcelerator 一起用作管理员,并且在发送每个唯一的推送通知之前进行身份验证。但是,这意味着在每次推送通知之前进行身份验证,这将大大增加所需的时间。

我已经确定了两种可能的解决方案,但我不确定是否可行:

  1. 让我的移动应用程序的每个用户在首次登录时使用 Appcelerator 进行身份验证,并将其保存在我的服务器上,以便当他们向我的服务器发出请求时,我使用他们的 cookie 进行身份验证。 (这似乎不安全。)
  2. 在对我的服务器的 1 个请求之后,使用 Appcelerator 保持我的身份验证。 (这似乎是两种解决方案中更容易的一种,但我不确定它是否可能/正确的方法。)

【问题讨论】:

    标签: java web-services cookies


    【解决方案1】:

    由于我在我的服务器上进行用户管理,因此通过 Appcelerator 也这样做是没有意义的。我之前认为如果我想使用 Appcelerator 作为推送通知服务,我也必须通过他们的服务来创建用户。

    但是,我现在意识到他们的推送通知 API 中有两个部分。

    • 订阅
    • 退订
    • 通知

    • 订阅令牌
    • 取消订阅令牌
    • 通知令牌

    后一组,使用来自设备的 pushToken,它与 Appcelerator 没有任何关系。使用这些方法,您不需要 Appcelerator 用户,因为您只需将推送通知发送到设备令牌。

    【讨论】:

    • 感谢分享!您能否提供一个有关如何将通知发送到设备令牌的示例?您是从服务器执行此操作的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2012-05-21
    相关资源
    最近更新 更多