2016-10-11 24 views
0

別々のマシンで2つのWebアプリケーションを実行しています。彼らは両方とも、サイトの特定の部分にアクセスするためにユーザーを認証する必要があります。サイトAのリンクがサイトBに行き、自動的にユーザーにログインするようにします。 SSOはオプションではありません。私はこれを環境/マシン間のやり方で構成したくありません。データベースを使用せずに別のWebサイトからWebサイトにログインする

それでは、私はlogontokenの仕組みになります。サイトAはデータベースにトークン(他の情報とともに)を書き込み、このトークンをサイトBに渡します。サイトBはトークンを検索し、有効な場合は追加データを使用してそのユーザーをログインします。

これを実現するメカニズムが存在していても、データベースを必要としない場合は、今すぐになります。たとえば、httpリクエストでユーザー名とパスワードをWebサイトに送信できます。 URLにクエリパラメータを追加することでこれを行うと、さまざまなネットワークポイントにURLが記録される可能性があるため、https環境でさえ安全ではありません。私は今、信任状でhttpsの投稿をすることを考えていました。リクエスト本体(ポストデータ)が2つのサイト間のhttps接続でスニッフィングできないと仮定して正しいですか?

まだ安全でない場合は、安全にするために何ができるのですか? MD5を使用して暗号化し、2つのサイトだけが知っているキーで暗号化解除します(どちらのサイトも私の管理下にあります)。

答えて

2

私は、JWTを使用するべきだと思います。これは、署名付きで暗号化されたJSONオブジェクトです。それは自給自足です:秘密鍵または公開鍵を共有するだけで、第三者システムを使用せずにアイデンティティを渡すことができます。

関連する問題