現在、運用中のシステム(以下、検索システムとします)をSpringフレームワークで一新することになったのですが、
既に存在する認証/認可サーバと連携させようとしたところでどうしていいか分からなくなってしまったので、質問させていただきます。
登場人物
- 認証/認可サーバ http://192.168.0.10/accounts
- 検索システム http://192.168.0.200/searchApp/
やりたいこと
旧システムでは、Sesar2フレームワークでOpenId4javaライブラリを使用して、
認証/認可サーバと対話形式のログイン機構を実現できていたのですが、
新システムではSpringフレームワークに移行することとなったため、対話形式のログインをSpringフレームワークに置き換える必要が出てきました。
以下、やりたいことの概要です。
★付きの部分が今回Springで実装したいところです
- ユーザ
→(検索システムの検索画面へリクエスト)
→ ★検索システムがまだ認証されていないことを検知
→ ★認証/認可システムへリダイレクトさせる
0. ユーザ
→ (リダイレクト先の認証/認可システムでID/PWを入力して認証)
→ 検索システムの検索画面へリダイレクトされてくる
→ ★検索システムで認証済み情報の一部を利用して自前のDBでユーザ検索
→ ★検索フォームを表示させる
調べたところ、
「Spring + OAuth 2.0 + OpenID Connect」という仕組みを使えば、
検索システムへアクセスに来た時に、認証/認可サーバのログインフォーム画面に飛ばせそうだということが分かったのですが、
・認証/認可サーバで事前にクライアントIDなどを発行しないといけない
・googleやtwitterなどとの連携は簡単にできる
との記載があるものの、
・自前の認証/認可サーバではクライアントIDなんて作らないしな・・・
・外部システムではなく自前システムなんだから違うんだよな・・・
という状況で、なにをどうしたらいいのか分からなくなってしまいました。
これをしらべたらいいよ!とか、こういう実装方法が参考になるよ!とかあれば、
教えてただけないでしょうか?
よろしくお願いします。
あなたの回答
tips
プレビュー