我希望限制对代表我网站 API 的 Controller /操作的访问。只有满足特定条件(付费帐户,而不是免费试用)的注册用户才能使用该 api。该网站目前支持表单例份验证,用户使用用户名/密码组合或通过 open id 登录。
用户如何使用 API 进行身份验证?该 API 最初将由移动应用程序(iphone、droid)使用。我主要关心的是移动应用程序的开放 ID 支持。
我对可用选项的想法是:
- 支持用户名/密码和 open id - 不确定 iPhone/droid 应用对 openid 身份验证的支持程度。
- 仅支持用户名/密码 - 强制 OpenId 用户为 api 创建 un/pwd - OpenId 用户的用户体验不佳
- 使用 api token - 这让我担心有两个原因:
- 用户必须手动输入 API key ,从用户体验的角度来看这很糟糕
- 他们可以轻松地与其他用户分发/共享其 API key ,这会破坏报告/指标。
- 我还错过了什么吗?
最佳答案
我们使用 #1 - 打开 ID 或用户名/密码。我不明白这对于 ASP.NET 或 ASP.NET MVC 有何特殊之处……这似乎更像是一个架构问题。
关于asp.net - 使用 asp.net mvc 的 API 身份验证选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912136/