2

REST API を構築しました。API は構築され、機能しており、すべての要求に対して基本認証を使用します。

REST API を使用する他の Web アプリケーションを構築したいと考えています。ただし、Web アプリで認証を行う方法については問題があります。

理想的には、Web アプリケーションでログイン ページを表示し、ユーザーが REST API の資格情報を入力するようにします。問題は、ユーザーが Web アプリケーションに「ログイン」すると、入力された資格情報を Web アプリケーションがどのように、どこに保存するかということです。さらに要求を行う必要があります。

最新の Web ブラウザーは、似たようなことをしなければなりませんね。ブラウザーで REST API にアクセスすると、ユーザー名とパスワードを 1 回要求されますが、その後の要求では、以前に入力した資格情報が再送信されます。これを Web アプリでどのように複製できますか? それらをセッションに保存するのは悪い考えだと思います...?

- 編集

おそらく、REST API への要求はサーバーから行われるので、クライアント側に格納するつもりはないことを指摘しておく価値があります。

4

1 に答える 1

1

あなたはおそらくこれについて間違っていると思います。要求ごとにユーザー名とパスワードを送信するというビジネス上の要件がある場合は、その要件を作成した人を見つけて、その人に何らかの意味があることを話すために一生懸命努力する必要があります。それには理由がありません。そのためのセッションです。

ユーザーを 1 回だけ認証します。認証時に、そのユーザーにセッションを提供します。セッションによってユーザーが誰であるかがわかるため、認証する必要がなくなりました。

すべての要求でユーザーに資格情報を入力させると、ユーザーの日常生活に迷惑がかかります。クライアント側 (Cookie またはローカル ストレージ) に保存することには問題があり、セキュリティに重大な影響があります。いずれの場合も、すべてのリクエストでユーザー名とパスワードのペアをネットワーク経由で送信することは (理論的には https 経由で安全ですが)、単に悪い考えです。これは、セッションの象徴的な使用例です。使用してください。

于 2013-10-17T15:20:37.627 に答える