ASP.NET MVCで社内用のポータルサイトを作成しています。その際ポータルサイト内でログインフォームを用意する代わりにAzure Active Directory(以下AAD)と連携させて、仕事中に使用しているドメインでログインできるようにしています。ログインしているユーザーの情報も、ユーザーアカウントのメールアドレスだけですが取得できています。
今回お聞きしたいのは**「そのポータルサイトに新規ユーザーを登録しようとしたときに、ログインユーザーをではない別のアカウントのアドレスをAADに渡してそのアカウントの情報を取得できるような仕組みがあるのかどうか」**という事です。
開発環境
ツール:Visual Studio 2017
プロジェクト:ASP.NET Webアプリケーション (.NET Framework)
ポータルサイトの仕様
ポータルサイトと連携させているSQLデータベースにユーザーテーブルを用意し、以下のようなカラムを用意しています:
- userid:社内ドメインとして使用されるメールアドレス
- username:使用者の氏名
仮にAADのログイン認証を通過したとしても、このユーザーテーブルに登録がないアカウントの場合はエラーとなり使用できないようにしています。
ユーザー登録フォームは以下のような感じです(実際はcshtml形式ですが、分かりやすくするためにHTML形式に変換しています):
HTML
1<h1>新規ユーザー登録</h1> 2<form method="post" action="/Home/Insert" > 3 <div> 4 <label for="userid">ユーザーID</label> 5 <input type="text" id="userid" name="userid" /> 6 <input type="button" value="AADからアカウント情報を取得" /> 7 </div> 8 <div> 9 <label for="username">ユーザー名</label> 10 <input type="text" id="username" name="username" /> 11 </div> 12 <div> 13 <input type="submit" value="送信" /> 14 </div> 15</form>
実現したい事
ここではAADに「aaa@tera.com」「bbb@tera.com」「ccc@tera.com」の3つのアカウントが登録されており、そのうち「aaa@」だけが前述のユーザーテーブルにも登録済みでポータルサイトにログイン可能とします。」でポータルサイトにログイン
0. 「aaa@
0. ポータルサイトで新規ユーザー登録のページを開き、useridの欄に「bbb@」のアドレスを入力」アカウントに紐づけられている姓と名を取得してusernameの欄に表示させる**(今回方法を聞きたい箇所)**
0. ユーザー登録フォームの中に「AADからアカウント情報を取得」ボタンがあり、押下するとAAD上で「bbb@
0. 「登録」ボタン押下で「bbb@~」アカウントが登録されログイン可能になる
上記の手順にも記述があるように、3.の「AAD上で「bbb@~」アカウントに紐づけられている姓と名を取得」する方法を今回お聞きしたいと思っております。ログイン中ユーザーの情報を取得する方法であればJWTやGraph APIなどで実現できることが分かっていますが、そうではない別のユーザーの情報も取得できるかどうかをお聞きしたいです。
長文失礼いたしました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 00:04
2020/05/01 04:19