我有一个带有OpenID Connect身份验证的asp.net核心应用程序,它们都正常工作。问题是,我想在成功登录后重定向客户端,而不是使用嵌入在查询字符串的state
属性中的回调URL。我该如何从Client/Startup.cs
开始呢?
在下面的代码示例中,说用户添加了书签或输入了/home/Second
,成功登录后,我想始终重定向到/home/Index
。
我该怎么做?
[Authorize]
public class HomeController : Controller
{
public async Task<IActionResult> Index()
{
return View();
}
public async Task<IActionResult> Second()
{
return View();
}
}
答案 0 :(得分:2)
您需要以下内容:
services.AddAuthentication().AddOpenIdConnect(options =>
{
options.Events = new OpenIdConnectEvents
{
OnTicketReceived = ctx =>
{
// can be First, Second, Index, whatever
ctx.ReturnUri = "http://google.com";
return Task.CompletedTask;
}
}
}