2017-04-07 101 views
0

我们有Android应用程序,通过它,零售商可以为客户移动充值。所以我们需要授权每个充值请求。如何管理android应用程序和ASP.net Web API之间的状态?

要发送充值请求零售商需要充值相关的信息和用户ID和用户密钥。正如下面

[AcceptVerbs("GET")] 
    public IHttpActionResult Prepaid(int pUserID = -1, string pKey = "", string pCustomerNo = "", decimal pAmount = 1, int pServiceProviderId = -1, int pDeviceTypeId = -1) 

我们为每个API认证用户打比较用户钥(encrypeted密码),密码存储在数据库

这使得太多的数据库调用和我们的服务器得到缓慢

它的B2B应用和零售商执行不同类型的操作,如交易记录,信用申请,除了充值以外的书籍投诉

如何在用户登录Android应用程序后维护状态

回答

0

那么,REST设计是无状态的。通过添加会话(或其他类型的任何其他类型),您将使其成为有状态的,并打败拥有RESTful API的任何目的。

实现身份认证和我用以下方法验证:

虽然在Android,用户用户POST请求发送他的用户名和密码的HTTP认证头,并在服务器端,我们检查密码,如果用户被授权了我们处理用户请求。

无需维护android和web api之间的任何状态,因为api是无状态的。

0

如果用户密钥是每个用户或每个唯一移动号码的唯一标识,那么我认为您最好验证用户正在使用的移动号码来通过发送OTP进行充值。用户然后可以将该OTP发回以进行认证。 但是,只有在登录时才执行此操作,然后将您生成的唯一用户密钥存储在Shared preference存储中。

+0

它的b2b应用程序不是b2c。和零售商执行不同的行为,如交易历史记录,信用申请,除了充值以外的书籍投诉 – Luqman

+0

您无需每次对用户进行身份验证以进行充值或其他任何操作。只需在登录时对用户进行身份验证,并将您的“user_key”存储在共享首选项中以供进一步使用。 –

相关问题