私は、いくつかの異なる場所から消費する予定のステートレスな REST ベースの API を書いていて、そのうちの 1 つは単一ページの Javascript Web アプリケーションになります。基本的には、クライアントごとに異なる API を使用するのではなく、さまざまなクライアント (他の人によって作成された可能性があるが、ユーザー データへのアクセスが必要な可能性があるクライアントを含む) から使用される単一の API を使用することです。
私が現在直面している問題は認証です。理想的には、自分で作成するのではなく、ここで標準的なものを使用したいのですが、実際に適合する標準的なものを見つけるのに苦労しています. また、電話をかけている人に応じて異なる認証メカニズムの解決策を回避しようとしています。この段階では、実際にアプリケーションを使用しているユーザーの認証 (ユーザー名とパスワードなどを介して) 以外は何も必要ありませんが、Web ページではないクライアントがそれを使用したい場合は、それを使用する必要があります。おそらく同様に認証されます。
私が見てきたことから、これを行う最善の方法は、実際には HTTPS 接続で HTTP 基本認証を使用することだと思われます。これには何かが欠けていると思わざるを得ません。明らかな代替手段は OAuth 1.0 のようです - これは潜在的に安全でない Javascript セッションがクライアントシークレットを知っていることを必要とします - または OAuth 2.0 - SSL 経由でユーザー名/パスワードを使用してアクセストークンを生成し、そのアクセスを使用することに戻るようですこれは基本的に HTTP Basic と同じですが、少し難読化されています。
ここでは HTTP ダイジェストを数えていないことに注意してください。単に、私が理解しているように、サーバーに渡されるのは、パスワードを取得できない形式 (つまり、ハッシュ化されたもの) で含むものであり、パスワードをバックエンドに保存する場合です。取得できない形式でも、2つを比較することはできません...