asp.net - 使用 asp.net mvc 的 API 身份验证选项

标签 asp.net asp.net-mvc api authentication

我希望限制对代表我网站 API 的 Controller /操作的访问。只有满足特定条件(付费帐户,而不是免费试用)的注册用户才能使用该 api。该网站目前支持表单例份验证,用户使用用户名/密码组合或通过 open id 登录。

用户如何使用 API 进行身份验证?该 API 最初将由移动应用程序(iphone、droid)使用。我主要关心的是移动应用程序的开放 ID 支持。

我对可用选项的想法是:

  1. 支持用户名/密码和 open id - 不确定 iPhone/droid 应用对 openid 身份验证的支持程度。
  2. 仅支持用户名/密码 - 强制 OpenId 用户为 api 创建 un/pwd - OpenId 用户的用户体验不佳
  3. 使用 api token - 这让我担心有两个原因:
    1. 用户必须手动输入 API key ,从用户体验的角度来看这很糟糕
    2. 他们可以轻松地与其他用户分发/共享其 API key ,这会破坏报告/指标。
  4. 我还错过了什么吗?

最佳答案

我们使用 #1 - 打开 ID 或用户名/密码。我不明白这对于 ASP.NET 或 ASP.NET MVC 有何特殊之处……这似乎更像是一个架构问题。

关于asp.net - 使用 asp.net mvc 的 API 身份验证选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912136/

相关文章:

c# - HttpWebResponse.StatusCode 未捕获 500 错误

asp.net-mvc - 使用 Autofac 将服务注入(inject)基类

facebook - 用于获取所有墙贴的Facebook API

用户数据 api 的 json 对象格式

c++ - 在没有管理员权限的情况下禁用 vista 和 7 中的快速用户切换?

asp.net - AntiForgeryToken 的终身和多次使用?

c# - asp :Label tag的Text属性和内部文本有什么区别

javascript - 谷歌地图像在maps.google.com中一样拖动

asp.net-mvc - ASP.NET MVC 是一种敏捷技术吗?

javascript - 响应式 HTML5 应用程序