2009-12-16 27 views
3

我正在寻求限制访问控制器/行动,代表我的网站的api。只有符合特定标准(支付账户,而不是免费试用版)的注册用户才能使用api。该网站目前支持用户使用用户名/密码组合或通过开放ID登录的表单认证。Api认证选项与asp.net mvc

用户如何验证api? api最初将被移动应用程序(iphone,droid)使用。我主要关心的是使用移动应用的开放式ID支持。

我的可用选项的想法是:

  1. 同时支持用户名/密码&开放ID - 不知道iphone /机器人应用如何更好支持OpenID身份验证。
  2. 只支持用户名/密码 - 力的OpenID用户创建联合国的API /密码 - 坏UX为OpenID使用者
  3. 使用API​​令牌 - 这让我担心的原因有两个:
    1. 用户会手动必须键入他们从UX角度吸取的api密钥
    2. 他们可以轻松地与其他用户分发/共享他们的api密钥,这会破坏报告/指标。
  4. 我错过了什么?

回答

-1

我发现基于令牌的身份验证效果最好。

OAuth 2是一个有吸引力的替代方案,将受到所有移动设备和已允许多种形式认证的网站的支持。

DotNetOpenAuth提供了一个.net库,用于处理OAuth2以及其他验证技术。

+0

提供的链接不提供.net的实现,因为OP询问。 – Levitikon 2012-10-15 18:57:43

0

我们使用#1 - 开放ID或用户名/密码。我不明白这是如何特定于asp.net或asp.net mvc,但似乎更像是一个架构问题。

+0

因此,iphone和droid应用程序使用openid进行web服务验证没有问题? – 2009-12-16 16:39:06