0

アプリケーションAからアプリケーションBへのセッション認証を維持する方法を作成する必要がありますが、使用できません:

  • SSO
  • POST 呼び出し

GET が適切な選択ではないことはわかっていますが、使用する必要があります。それで、「公開鍵」のようなものを使うと思いますが、このアプローチについてどう思いますか?

私は次のように考えています:

  1. ユーザーはアプリケーション A で認証を行います。
  2. アプリケーション A には、アプリケーション B へのリンクがあります。ユーザーはこのリンクをクリックします
  3. アプリケーション A がアプリケーション B のページを開き、「公開鍵」 (データベース永続認証鍵?) を送信します。
  4. アプリケーション B はこのキーを検証し、ユーザーを承認するかどうかを決定します。
4

1 に答える 1

1

ステップ 3 では、「公開鍵」を考えるのではなく、「セッション トークン」を考えます。具体的には、A は B にリダイレクトします。

http://b.application.com?token=123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245

トークンは一意で、存続期間が短い必要があります。

次に、B は Aに直接連絡し、セッション トークンの背後にある ID について尋ねます。

http://a.application.com/userservice/getuser/123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245

B は A に直接接続するため、ユーザーが無効なトークンを偽造する方法はありません。ランダムなトークンは、A に存在しないセッションを指すだけです。

于 2013-08-14T13:21:16.180 に答える