如何获取用户ID(或唯一令牌)以确保应用程序是在应用商店中购买的

时间:2017-01-16 15:57:18

标签: android ios cordova

我的系统包含一个移动应用程序(Cordova应用程序)和一个提供所有相关数据的Web服务。当用户在appstore(或Playstore,如果是android)中购买应用程序时,应在Web服务上创建用户帐户,理想情况下无需任何用户交互(无需注册)。用户帐户可以与gmail帐户,apple id,...链接。这是必需的,只允许有付费用户使用网络服务。

我的问题:

  1. 我没有找到获取用户用户ID的方法。 (Android似乎有办法:https://github.com/loicknuchel/cordova-device-accounts,但不是iOS。)

  2. 我只希望每个用户只注册一次。这样可以避免在首次启动应用程序时使用注册页面等内容 - 这很容易被绕过并导致多次注册。

  3. 用户帐户应该链接到用户而不是设备(因此没有设备UUID左右,因为设备之间无法移植)。

  4. 我的想法:

    1. (收藏,似乎没有可能)我有一个方法" getUserID()"在应用程序中,它会在手机上返回正确的用户。此外,我可以访问API来检查谁购买了我的应用程序。我可以轻松地进行交叉检查,以确保用户有权使用Web服务。

    2. (不必要的复杂,似乎错了)让应用免费,使用单个应用内购买来购买对网络服务的访问权限。当我搜索时,我发现应用程序购买似乎为您提供了更多信息,因此可能有机会将应用程序与用户链接。

    3. (甚至比2还差。)让应用免费,使用自己的支付系统/注册。

    4. 我的问题:

      Android / iOS应用商店生态系统提供什么,以便我可以确保购买应用的用户在我的网络服务上创建一个用户帐户,并且此用户帐户是链接到用户而不是设备?

1 个答案:

答案 0 :(得分:0)

您应该为每个付费用户生成一个秘密API密钥。 然后,用户应使用此密钥对您的API进行身份验证并获取令牌(如果您需要更强大的保护,可以在一段时间后使其过期)。用户应将此令牌附加到他的所有api调用。