Sitecore 9からフェデレーション認証を使ったログインが正式にサポートされます

samatsu 11/22/2017 1651 N/A Sitecore Programming

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 を使った認証です。

この環境を実装する手順は時間のある時に投稿します。