概要
Azure Active Directoryを使ってみます。
Azure ADの設定
そもそもAzure ADの設定は、以下の順に行わなければならないみたいです。
- 既定のディレクトリ(無料試用版サブスクリプションのあるアカウント)でB2Cディレクトリを 新規作成
- 既定のディレクトリで、(1)で作ったディレクトリをサブスクリプションにリンク
- (1)で作ったディレクトリに移動して、アプリケーションを登録
(2)を設定する際に、(1)で作ったディレクトリに移動してしまったために、色々挫折しかけました。以下を参考にしました(というか、そのまんま :p)。
- Azure Portal で Azure Active Directory B2C テナントを作成する
- Azure サブスクリプションを Azure AD B2C テナントにリンクする
- Azure Active Directory B2C: アプリケーションを登録する
アプリケーションの登録 では、ポリシーの作成まで行いました。プロバイダ、属性、要求は適当に設定しました。
サンプルアプリケーション
Azure Active Directory B2C: .NET Web API を構築する を参考にしました。
SSLで立ち上がらない
マルチ スタートアップ 以外に設定は書かれていないのですが、なぜかSSLで立ち上がりません。プロパティを見ても、「SSL有効:True」なのです。偉大なるGoogle先生に聞いても、「動的ポートをFalseにせよ」って出てくるんですが、Visual Studio 2017だとどこにあるんですかね?
というわけで、対症療法としてプロパティページ(プロジェクト右クリック→ プロパティ )から、Web タブ→ プロジェクトのURL に値を入れました。やったらダメだったらごめんなさい。
設定値は以下のようにしました。設定後に 仮想ディレクトリの作成 ボタンを押さないと怒られます。アプリケーションのルートURLをオーバーライドする でhttpsのURLを入れたら上手くいくのかと思いきや、なぜかうまくいきませんでした。なぜだ。
ProjectName | Value |
---|---|
TaskService | https://localhost:44332/ |
TaskWebApp | https://localhost:44316/ |
とりあえず、Azureと連携させずに動作することを確認!
ようやくWeb アプリ コードの更新を参考に、ソースコードを書き換えます。
-
ida:Tenant
xxx.onmicrosoft.com -
ida:ClientId
アプリケーションID -
ida:ClientSecret
クライアント パスワードの作成
以下、b2c_1_ を忘れないこと。
-
ida:SignUpSignInPolicyId
サインアップまたはサインイン ポリシーを作成する -
ida:EditProfilePolicyId
プロファイル編集ポリシーを作成する -
ida:ResetPasswordPolicyId
パスワードのリセット ポリシーを作成する
今後使いそうな資料
Azure AD関連
Azure IoT関連
一般的な説明
- Azure Web App のユーザー認証を Azure AD B2C で行うために
- SlideShare:ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
- SlideShare:大学等におけるAzure AD B2Cを使用したSNS認証の活用
- SlideShare:クラウドにおける Windows Azure Active Directory の役割