web-dev-qa-db-ja.com

Web API認証技術

Peoples Getリクエストにxml/jsonを提供するためのasp.net MVC Webサービスフレームワークがありますが、最善の方法(javascriptまたはOO =言語)ユーザーを認証します。データが機密であるなどの理由ではありません。ユーザーに登録を求めて、変更を通知し、使用状況を追跡するためのメールアドレスを用意します。

以前の試みでは、URIにユーザー名があり、ユーザー名が存在することを確認し、使用量に応じてdbテーブルをインクリメントしました。これは非常に基本的でしたが、ユーザー名としてデモを使用している人などに気づくので、もう少し洗練される必要があります。

利用できる認証技術は何ですか?主要なプレーヤーは何を使用していますか。

26
Steve

StackOverflowでその質問をしました ここで読む 。私自身の質問の my answer も参照してください。これは、リクエストごとにパスワードを渡す必要がなく、SSLや暗号化を使用しない、認証に関するものです。単純なハッシュ。

10
user2567

このビデオ は、WCF/RESTサービスでAPIキーを使用する興味深い方法です。 コード

3
Tangurena

私はあなたのビジュアルスタジオを使っています。 vs 2010を4.0フレームワークで使用している場合は、vs 2010の「WCF REST API Key Verificationを使用したサービス」テンプレートを確認できます。

0
KinGBin

Webサービスには常にHTTP認証を使用します。認証自体はWebサーバーによって処理され、おそらくIISあなたの場合です。次に、IISを構成して、データベース、LDAPストア、または類似。

次に、プロパティUser.Identity.Nameを介してユーザー名にアクセスします。

[〜#〜] edit [〜#〜]:JQuery認証の例:

/* I found that providing the username and password both in the
   the arguments and in the url parameter seems to have better compatibility,
   if it works well for you, it is highly advisable to remove the 
   user/pass from the url */

function doLogin (){
  $.ajax({
    username: $('#username').val(),
    password: $('#password').val(),
    url: 'https://'+$('#username').val()+':'+$('#password').val()+'@api.example.com',
    dataType: 'jsonp',
    context: $('#result'),
    success: function(d) { $(this).html(d); $(location).attr('href','https://api.example.com/success'); }
    });
    return false;
}
0
ewindisch