シングルサインオンサービスのOktaをMVC5のログインに使う羽目になったのでメモ。
Oktaアカウント作成
Developerアカウントを作成しときます。
プロジェクト作成
Framework 4.5/ ASP.NET Application

MVC

Change AuthenticationでNo Authentication

F5で動作確認

Controllers\HomeControllerに[Authorize]をつける。
|
|
動かなくなる

Oktaでアプリ作成
こちらを参考にOkta上にWS Federation なアプリを登録します。

Oktaアプリ設定
いろいろありますが、
- Application label:任意
- Web Application URL:開発環境URL
- ReplyTo URL:開発環境URL
- Audience Restriction:Web Application URLと同じ
の4点だけ設定します。

Next→ユーザー等の設定→Next→Done
アプリができたらSignOnタブのView Setup Instructionsでweb.config用の設定例が見れるので、web.configに組み込みます。

これで実行すると、Oktaにリダイレクトされて認証後、承認された状態でアプリに戻ってきて、先ほどのエラー画面は消え去ります。
WSFederationAuthenticationModuleとSessionAuthenticationModuleで上手い事やってくれてるんでしょうが、おてがるですね。どんな仕組みなんですかね?
OWIN?なにそれ?