私はAzure ADを介してログインしたマルチテナントのWebサイトを実装しています。現在、特定のページにredirecturi
を設定し、そのページを返信URLのリストに追加しました。ログイン後に動的ページにリダイレクト
私の質問は、ログイン後に返信用のURLにないページに移動するにはどうすればよいですか?
私はOpenID ConnectでASP.NETコアを使用しています。
例フロー:
ユーザは、注文IDが動的であるhttp://{domain}/orders/orderid
にナビゲート。私が望むふるまいは、ユーザーが(Azure AD)ログインメニューに移動し、資格情報を入力した後、同じページ、つまりhttp://{domain}/orders/orderid
にリダイレクトする必要があるということです。
現在のところ、ユーザーはAzure ADログインメニューにリダイレクトされますが、資格情報を入力すると、返信URLのリストにある事前定義済みのページ( 'profile')に移動します。
サンプルコード:
public IActionResult LogIn()
{
if (!User.IsAuthenticated())
{
return Challenge(new AuthenticationProperties { RedirectUri = "/profile" },OpenIdConnectDefaults.AuthenticationScheme);
}
else
{
return RedirectToAction(nameof(Index), "Home");
}
}
[Authorize]属性を使用しないと、Azure ADログインページをログインが必要な場合にのみ表示されます。 (一部のオーダーは誰にでも見えるはずです)。また、javascriptを使って呼び出しを行う必要があるかもしれません。 – AgentHunt