15

要求を行うたびに HTTPS/暗号化を介してユーザー名とパスワードを送信する代わりに、REST Web サービスを使用するときに認証トークンを使用することの価値は何ですか?

たとえば、OAUTH にはいくつかの利点があるため、パスワードを第三者に提供する必要がないこと、ユーザー名/パスワードを共有したくない信頼できる第三者にトークンを渡すことができることを理解しています..

しかし、私の場合は確かに必要ない上記の特別な利点以外に、毎回ユーザー名/パスワードを送信する代わりにトークンを使用する必要があるのはなぜですか。

これは、クライアントの生活を楽にするためであり、毎回ユーザー名/パスワードを送信する必要はありません。わかりましたが、クライアントは私のトークンを記憶し、リクエストごとにトークンを送信する必要があります。したがって、ユーザー名/パスワードを記憶/送信する代わりに、トークンに対して同じことを行うようになりました! したがって、クライアントの実装コードはこれ以上減りません。

では、ここでの本当の価値は何ですか?

4

2 に答える 2

1

これに答える最善の方法は、REST セキュリティについて説明しているこのページを紹介することです。これは、Jersey ではなく、restlet wiki に属していますが、REST 実装であるため、Jersey にも適用できます。

これは、私が提供したリンクから抽出されたものです。

「最も抵抗するために、サーバーはアプリケーションレベルの認証トークンをクライアントに提示できます。サーバーが検証できる不透明な値は、正しい認証されたユーザーに属します。

  • このようなトークンは、サード パーティが計算するのが困難であるべきです。たとえば、ユーザーの ID クレデンシャルのサーバー ソルト MD5 または SHA1 ハッシュなどです。

  • XSRF を無効にするには、このアプリケーション レベルのトークンを、ユーザー エージェントが各要求で自動的に返されないように送信する必要があります。たとえば、フォームの HTML で隠しフィールドとして送信し、エンコードされたフォーム エンティティで POST を介して返すことができます。」

于 2012-12-22T13:58:23.283 に答える