2013-04-29 63 views
1

我有一个由页面和Web服务组成的服务器。 Web服务旨在供我将自行开发的Windows Phone移动应用程序使用。如何验证Web服务调用者的身份

现在,我的问题是,如何确定Web服务请求来自我开发的移动应用程序?在普通的Web应用程序中,可以使用证书和数字签名的组合来确保调用者的身份。

主要问题是Silverlight不允许开发人员加载安装在手机上的证书并获取私钥来签署数据。我想到将私钥硬编码到应用程序中,但是这并不安全,因为应用程序可以很容易地反汇编和反向工程。

我还能做些什么来确保Web服务请求来自我开发的移动应用程序,而不是来自普通Web应用程序?

回答

1

您可以使用Cookie和基于表单的身份验证。 用户和密码可以在应用程序的第一次执行时生成,每个用户一次。

+0

不幸的是,该项目的要求之一是,用户能够通过移动应用程序来创建一个帐户。因此,移动应用程序包括注册过程。 – 2013-04-29 16:01:36

+0

没问题。反正也一样。用户在注册时创建帐户,他们必须登录才能使用该应用程序。 Asp.Net会话cookie通过会话识别用户。我的回答是认为整个注册和身份验证过程将被最终用户的沙箱化。 – Oscar 2013-04-29 20:03:49