Sitecore 9 から Federated Authentication がサポートされるようになりました。Sitecore 9の新機能紹介第三弾として、Azure ADを使ったOpenID Connectプロトコルによるフェデレーション認証を使ったSitecoreクライアントインタフェースへのログインの流れをご紹介します。
Sitecore 9からは、Sitecoreのクライアントインタフェースにログインするときも、公開サイトにログインするユーザーでも両方で、SitecoreのユーザーDB以外の IDプロバイダーを使ったサインインを実装できるようにないました。これまでも、ライブサイトでのフェデレーション認証を実装することはできましたが、Sitecore 9では正式にサポートされます。
認証にはOwin ミドルウェアを使用しているので、Owinをサポートするものであれば基本何でもいけるはずです。
実際Azure ADを使って Sitecoreのクライアントインタフェースにログインさせることができました。はじめてなので丸1日近かかりましたが、流れがわかれば難しくはないです。
フェデレーション認証を有効にすると、通常のログイン画面に 追加した認証プロバイダーを使用したログインを行うためのボタンが下側に表示されます。
ボタンを押したら、サインイン画面にリダイレクトされるので、その認証プロバイダーに登録されているログインアカウントを使ってログインします。今回はAzure ADのユーザーを使っています。
Azure ADのユーザーは Azure 上で Sitecore Userというセキュリティーグループのメンバーにしています。今回は少し工夫して、このグループのユーザーがログインした場合は、 sitecore\Developer ロールのメンバーになるように設定されています。
ログインすると、Developerロールの権限で画面にアクセスできました!
認証処理自身は Owinに押し付けることができるので、Owinがサポートする任意のIdentity Providerを使って、フェデレーション認証を実装できるはずです。今回行ったAzure ADを使った認証も実際は ただの、OpenID Connect を使った認証です。
この環境を実装する手順は時間のある時に投稿します。
さんのコメント: さんのコメント: