問題タブ [digest-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - net-http-digest_auth を使用した未知のアルゴリズム MD5
サーバーに対してダイジェスト認証を行い、結果の HTML を nokogiri で解析しようとしています。URL 接続を行うために net-http-digest_auth gem (https://github.com/drbrain/net-http-digest_auth) を使用しています。digest_auth コード (20 行目) を開始するまでは問題ありません。「不明なアルゴリズム「MD5」エラー」がスローされます..
コンソールからの完全なエラー メッセージ:
~/.rvm/gems/ruby-1.9.3-p194@rails32/gems/net-http-digest_auth-1.2.1/lib/net/http/digest_auth.rb:105:in 'auth_header': unknown algorithm ""MD5"" (Net::HTTP::DigestAuth::Error)
from ./server_connection.rb:20:in '<main>'
行 20 は認証行です。
auth = digest_auth.auth_header uri, res['www-authenticate'], 'GET'
これが私の完全なコードです(githubリンクで使用されているサンプルコードからほぼ完全にそのままです):
この質問を更新して、Chrome の開発ツールを介してリクエスト ヘッダーを含めます。
javascript - JavascriptXMLHttpRequestを使用したダイジェスト認証
ダイジェスト認証を使用するAPIで認証しようとしています。
サーバーにPOSTリクエストを送信していますが、返される応答はですHTTP 401 Denied
。これはWWW-Authenticate
サーバーからのチャレンジヘッダーです。
(フォーマット用にバックスラッシュが含まれていますが、応答ヘッダーにはありません)
このヘッダーのパラメーターを使用して、ダイジェスト認証アルゴリズムを適用し、チャレンジ応答ヘッダーを作成します。
サーバーに送信されるヘッダー:
しかし、これは機能しません。HTTP401拒否を受け取ります。サーバーダイジェスト認証がテストされました。
google-apps-script - UrlFetch を使用した Google Apps Script によるダイジェスト認証
Google Apps Script の UrlFetch を使用して、ダイジェスト認証で保護された URL にアクセスしようとしています。
基本認証を使用して URL にアクセスできました。
ドキュメントの例に基づいて、OAuthでアクセスできました。
問題は、Digest を実装しているサイトで同じ機能が必要なことです。次のカールでアクセスできます。
更新しました
単純に電話しようとすると
ダイジェスト認証の Challenge-Response メカニズムのため、これは機能しません。
そのような機能を実装している JavaScript ライブラリを使用して UrlFetch で使用できますか? または UrlFetch 自体で直接?
ruby - 単一のルートに HTTP ダイジェスト認証を使用する
モジュラー Sinatra アプリの特定のルートに HTTP ダイジェスト認証を使用したいと考えています。
sinatra レシピ Web サイト内にリストされている例は、アプリ全体のダイジェスト認証を有効にする方法を簡単に説明しています。これを特定のルートで機能させるために提示されたソリューションは、2 つの個別のアプリ (1 つはダイジェスト認証を使用し、もう 1 つは使用しない) を作成し、保護されたルートと保護されていないルートをそれぞれのアプリケーションに配置することです。
それには、次のようなものが必要です。
これは私にはやり過ぎのように思えます。
完全に新しいアプリを作成することなく、モジュラー シナトラ アプリで単一のルートを保護する方法はありますか?
Rack::Auth::Basic::Request のインスタンスを作成して環境に渡すことを参照するFAQの例がありますが、ダイジェスト認証でこのようなことを行うことは大きく異なり、手動の認証手順がはるかに多くなります。
基本認証の例を次に示します。
これをどのように行うことができるかについて考えている人はいますか?
java - java- Webアプリ/Webサービスでのエンドユーザー認証のために、実装が簡単で安全な方法
ユーザーがサインアップしていくつかのリソースにアクセスできる通常のWebインターフェイスを備えたアプリケーションを作成します。
基本認証、ダイジェスト認証、openid、oauth、oauth2などのさまざまな認証方法について調べています。
私が知りたいのは、基本認証またはダイジェスト認証を実装する場合、それは安全ですか?私が訪れた多くのサイトで、oauthとその安全性について話し合ったからです。私が訪れたいくつかのサイトでもOpenIDについて言及されていました...
エンドユーザー認証を検討している現在の使用シナリオは、WebアプリのWebインターフェイス用です。別の使用シナリオは、JAX-RSベースのWebサービスの場合です。これらの2つの使用シナリオでは、どちらの認証手段が安全ですか?理想的には、両方のシナリオで同じ認証手段を使用したいと思います...
jquery - ダイジェスト認証、jquery ajax 呼び出しで RestFul PHP Web サービスを使用する
ダイジェスト認証を使用してRestFul PHP Webサービスを呼び出す方法を知りたいですか?
基本的なリクエストを作成するとき、サーバーは認証を必要としますが、ユーザー名とパスワードを送信する方法がわかりません。phonegap アプリにはこれが必要です。
});
ありがとう、
javascript - クライアント側 JavaScript Facebook OAuth2 実装?
RFC 2617は、 HTTP Basic および Digest Auth標準を指定し、ウィキペディアの「説明付きの例」サブセクションに要約されているように機能します。
- クライアントは、認証が必要なページを要求しますが、ユーザー名とパスワードを提供しません。通常、これは、ユーザーが単にアドレスを入力したか、ページへのリンクをたどったためです。
- サーバーは 401 "client-error" 応答コードで応答し、認証レルムと、ノンスと呼ばれるランダムに生成された使い捨ての値を提供します。
- この時点で、ブラウザーは認証領域 (通常、アクセスされているコンピューターまたはシステムの説明) をユーザーに提示し、ユーザー名とパスワードの入力を求めます。ユーザーは、この時点でキャンセルすることを決定できます。
- ユーザー名とパスワードが提供されると、クライアントは同じ要求を再送信しますが、応答コードを含む認証ヘッダーを追加します。
- この例では、サーバーが認証を受け入れ、ページが返されます。ユーザー名が無効であるか、パスワードが正しくない場合、サーバーは "401" 応答コードを返す可能性があり、クライアントはユーザーに再度プロンプトを表示します。
注: クライアントは、必要なユーザー名とパスワードを既に持っている場合があります。ユーザーにプロンプトを表示する必要はありません (以前に Web ブラウザーによって保存されている場合など)。
Facebookによって実装されているOAuth2 ドラフト標準を使用してログインを実行しています。
公開された公開 API (JSONRPC や REST など) を備えたサーバーがある場合、前述の RFC 2617 の例のような種類の機能を含めるように、クライアント側の JavaScript フロントエンドをどのように作成できますか?
passwords - パスワードはどのように保存すればよいですか?
私はログインを必要とするシステムを持っていますが、私がそれを構築している人は、ログイン中のパスワードの送信が非常に安全である必要があります(SSLを使用している場合でも)。そのため、ログイン要求を送信するためにダイジェストアクセス認証のバリアントを使用しています。私が今抱えている唯一の問題は、パスワードをデータベースに(できれば安全なソルトハッシュで)保存して、ダイジェスト要求で使用できるようにする方法です。パスワードは、ハッシュされていない形式ではありません。クライアントは数秒間ブラウザを使用します。
つまり、簡単に言うと、パスワードを安全に保存しながら、ダイジェスト(データベースのソルトとは異なり、常に変化するナンスを使用)で認証できるようにするにはどうすればよいでしょうか。
oauth-2.0 - ダイジェストレルム内でOAuth2認証をネゴシエートする必要がありますか?
私はおそらく概念を混乱させていますが、私はweb2py Google Groupで、ダイジェスト認証を実装する必要があることについて話し合っています。
OAuth2では、認証キーをハッシュして、認証レルム内でのみ送信する必要があると考えています。
違いが生じる場合は、JavaScriptクライアント側を使用し、インターフェースはJSONRPCサーバー側で公開され、OAuth2はFacebookで実行されます。
ダイジェストレルム内でOAuth2をネゴシエートする必要がありますか?