2009-12-16 48 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