Azure AD アプリケーションのリダイレクト URI: 普通はサインイン後に元のページに戻るよね
2021年3月26日
Azure AD アプリケーションを開発および作ろうかなーと計画してる皆様と、たまーにしか Azure AD に触れないので大事な Tips をすぐ忘れてしまう私のための備忘録です。
サインインが必要な web ページって常日頃普通に使ってるけど、どのページも、サインインした後ってその「サインインしようとした」ページに必ず戻るよね。でも、Azure AD のリダイレクト URI ってそもそも固定の URI をいっこだけしか指定できないじゃん。はて、サインイン後に元のページに戻るってどうすんの?
こうするといいらしい。
- リダイレクト URI としてパラメーターを受け取れるページを設定
- サインインするためのボタンに設定するハイパーリンクの URL 中に元のページを示すデータを渡すよう仕込む
- サインインが無事完了してリダイレクト URI のページにリダイレクトされ、元のページを示すデータがパラメーターとして渡される
- リダイレクト URI のページは受け取ったパラメーターに応じたページへリダイレクトしちゃう
なるほど!!!! …ってすごい感動したんだけど、これって Azure AD 以外でも常識の方法かな…?
え?そう?常識?私が知らないだけ?うっそーん
あと、いまどきの web アプリでパラメーターを URL で渡すってセキュリティホールになるんじゃ…とも思ったけど、そこまできちんとカバーしてるドキュメントがちゃんと docs.microsoft.com にあったよ orz
リダイレクト URI (応答 URL) に関する制約と制限 状態パラメーターを使用する
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/reply-url#use-a-state-parameter
どなたかの参考になれば幸いです。Access まるで関係ないけど。