Visual Studio 2017で作成されたデフォルトのASP.NETコアWebサイトがあります。私はAzure Active Directoryを使用して認証することを選択しました。 サイトを実行し、Active Directoryのアカウントを使用して正常にログインできます。ASP.NETコアがAzure Active Directoryで認証され、要求ごとにカスタムクレームを永続化する
Active Directoryで提供される申し立て情報を取得できます。次の行を呼び出すと、私は '名前'を取得します。
User.Claims.FirstOrDefault(c => c.Type == "name")?.Value;
ログインしたユーザーに対してカスタム請求 - CompanyId = 123456を追加したいとします。 カスタムクレームを追加することはできますが、クレームが設定されているページでのみ使用できます。
Claim claim = new Claim("CompanyId", "123456", ClaimValueTypes.String);
((ClaimsIdentity)User.Identity).AddClaim(claim);
私の理解では、私は何とかActive Directoryによって発行されたトークンを更新したり、トークンが発行される前に、請求を設定する必要があるということです。私はこれを行う方法がわかりません。
私はこれは私が(https://github.com/ahelland/AADGuide-CodeSamples/tree/master/ClaimsWebApp含む)このシナリオについての多数の記事やサンプルを読んだ
// GET: /Account/SignIn
[HttpGet]
public IActionResult SignIn()
{
return Challenge(
new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectDefaults.AuthenticationScheme);
}
SIGNIN()でAccountControllerに行われる必要がある疑いが存続する方法を解決するために管理していませんリクエストにまたがって申し立てを行う