按照建议,我会在 IdP 上注册授权回调 url/redirect_url,它可以工作。
但是,如果使用 MVC 应用程序的客户端尝试访问未经授权的页面,将会被重定向到 idsrv 登录页面,该怎么办?
redirect_url 始终是配置的(主页入口点)。
要更改此行为,我必须在 IdP 处注册所有可能的路由。
那不是解决办法!
在 idsrv 登录方法上我尝试过:
Login(string returnUrl)
检查来自的值returnUrl
它给/connect/authorize/callback?client_id=...
不应该returnUrl
有上一页的url吗?就像普通的 mvc 应用程序一样..
我尝试让 Referer 将其存储在会话中,然后重定向..
if (!string.IsNullOrEmpty(Request.Headers["Referer"].ToString()))
{
this.httpContextAccessor.HttpContext.Session.SetString("Referer", Request.Headers["Referer"].ToString());
}
但这不起作用Referer 为空...
我已经检查了集成服务上下文中发生的情况
var context = await _interaction.GetAuthorizationContextAsync(model.ReturnUrl);
context.RedirectUri
并返回/signin-oidc/
这是返回的自动方式(主页入口点)。
有机会获取之前的 url,以便用户可以重定向吗?
那我还能做什么呢?
我正在使用混合流来管理以下客户端:mvc-app、classic-asp、web api