2

私は Web Api (asp.net Web Api を使用) を作成しており、クライアントがサービスを使用するために認証することを自然に望んでいます。

私は、API を利用する Javascript プラグインを作成し、それを他の Web サイトに簡単にドロップできるようにしたいと考えていました。

プラグインを認証させる安全な方法はありますか? プラグインに渡された情報を機密に保つ方法がわかりません。

また、API をネイティブ アプリで使用したいのですが、Cookie を使用するルールはありますか?

ありがとう

4

1 に答える 1

4

プラグインを認証させる安全な方法はありますか?

プラグインにユーザー名/パスワードを埋め込むか、ユーザーからその情報を取得するためのフィールドをいくつか用意する必要があります。

ユーザー名/パスワードを埋め込むことを選択した場合は、いくつかのコードを検討してください。

$.ajax({
        url: 'api/foo',
        type: 'GET',
        dataType: 'json',
        success: onSuccess,
        error: onError,
        beforeSend: setHeader
    });

の割り当てに注意してbeforeSendくださいsetHeader

function setHeader(xhr) {    
    xhr.setRequestHeader('Authorization', 'Basic YXBpX3VzZXIxOjEyMzQxMjM0');

}

以下の方法を使用して、認証文字列を事前に計算する必要があることに注意してください

ここで、ユーザーからユーザー名/パスワードを取得する場合は、次のようにすることができます。

function setHeader(xhr) {            
        xhr.setRequestHeader('Authorization', make_base_auth($("#username").val(), $("#password").val()));
}

function make_base_auth(user, password) {
    var tok = user + ':' + password;
    var hash = Base64.encode(tok);
    return "Basic " + hash;
}
于 2013-01-16T22:18:12.663 に答える