asp.net - 从跨平台移动应用程序使用 REST 和 ASP.NET Web Api 进行身份验证和授权

标签 asp.net security http rest asp.net-web-api

我正在编写一个使用 ASP.NET Web Api 模板的服务器并实现其余服务。该服务器将作为移动游戏的后端,用于存储用户的高分、进度和其他信息。我查看了多种方法( thisthisthis ),但我无法决定使用哪种方法。就我而言,我想主要防止分数欺诈,因为每个用户帐户将包含有限的信息(在他们的电子邮件之外)。这是理想情况下会发生的事情。

  1. 用户第一次打开应用
  2. 用户可以选择自定义用户名,这由服务器检查,因此没有重复
  3. 用户会得到一个随机生成的六位数密码(这样他们就可以在不同的手机上使用同一个帐户)
  4. 用户输入电子邮件地址
  5. 在服务器上创建了新用户(服务器验证该帐户是由我的客户端应用程序的有效实例创建的)
  6. 用户玩游戏,上传结果(通过基本身份验证?)
  7. 用户可以查看全局结果(非用户特定的 GET 方法没有安全性)

我在缩小要使用的身份验证类型(无浏览器登录屏幕等)和授权方法时遇到问题。任何帮助将不胜感激。

-塔玛斯

最佳答案

即使您使用的是基本身份验证,您也会希望使用 HTTPS。如果您使用的是 HTTPS,那么您也可以使用客户端证书来验证客户端。只有具有有效证书的客户端才能访问。如果您不向其他消费者开放此 API,并且它只会由您开发的客户端使用,您可能需要考虑 WS-Security 和 WCF。用裸体摩托车司机作为比喻对差异进行了有趣的描述here .

关于asp.net - 从跨平台移动应用程序使用 REST 和 ASP.NET Web Api 进行身份验证和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094424/

相关文章:

css - 背景 :url ("javascript:...") doesn't work anymore?

php - CartoDB - SQL API - 使用 php 发布请求

http - 使用 ikeyman 生成 SHA-2 证书

asp.net - 发布 Web 应用程序时出错

security - 当前端/后端位于两个不同的域时,CSRF 保护如何为我提供比 CORS 控制更高的安全性?

c# - 将 MVC 4 中的路由模板更改为 nameofvendor/controller/id

java - JAAS 认证的新手;使用 URL 栏中的 token 登录

http - 最适合用于过期登录的 HTTP 状态(基于表单的登录)

c# - 从具有抽象属性的泛型类继承

asp.net - 将所有图像隐藏在 DIV 中,除了没有滚动条的图像