我正在编写一个使用 ASP.NET Web Api 模板的服务器并实现其余服务。该服务器将作为移动游戏的后端,用于存储用户的高分、进度和其他信息。我查看了多种方法( this 、 this 和 this ),但我无法决定使用哪种方法。就我而言,我想主要防止分数欺诈,因为每个用户帐户将包含有限的信息(在他们的电子邮件之外)。这是理想情况下会发生的事情。
- 用户第一次打开应用
- 用户可以选择自定义用户名,这由服务器检查,因此没有重复
- 用户会得到一个随机生成的六位数密码(这样他们就可以在不同的手机上使用同一个帐户)
- 用户输入电子邮件地址
- 在服务器上创建了新用户(服务器验证该帐户是由我的客户端应用程序的有效实例创建的)
- 用户玩游戏,上传结果(通过基本身份验证?)
- 用户可以查看全局结果(非用户特定的 GET 方法没有安全性)
我在缩小要使用的身份验证类型(无浏览器登录屏幕等)和授权方法时遇到问题。任何帮助将不胜感激。
-塔玛斯
最佳答案
即使您使用的是基本身份验证,您也会希望使用 HTTPS。如果您使用的是 HTTPS,那么您也可以使用客户端证书来验证客户端。只有具有有效证书的客户端才能访问。如果您不向其他消费者开放此 API,并且它只会由您开发的客户端使用,您可能需要考虑 WS-Security 和 WCF。用裸体摩托车司机作为比喻对差异进行了有趣的描述here .
关于asp.net - 从跨平台移动应用程序使用 REST 和 ASP.NET Web Api 进行身份验证和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094424/