为什么深层链接在身份验证后不起作用?
Why are deep links not working after authentication?
经过身份验证后,用户始终会被发送到应用程序的根 url,即使他们最初请求的是深度 link。
我读到有 RelayState 的概念,但是我不确定这是否是我需要在某处明确查找为 属性 然后重定向的东西,或者应该是什么东西如果我设置正确,就会自动运行。
我试过tacking on a url to the signOn url,但似乎没有任何效果。不过,这只是我在浏览器中手动输入 url 的时候,所以我认为这不是“SP 启动的登录”
当我需要进行身份验证时,我会像这样重定向到深层 link(在尝试调试时进行硬编码)
string deepLink = "?returnUrl=http://localhost:35246" + app.Context.Request.FilePath;
string logInPage = "~/Saml2/SignIn" + deepLink;
HttpContext.Current.Response.Redirect(logInPage);
日志输出显示了这一点.. SignInUrl 应该显示不同的东西吗?
SUSTAINSYS [VERBOSE] Expanded Saml2Url
AssertionConsumerServiceUrl: http://localhost:35245/Saml2/Acs
SignInUrl: http://localhost:35245/Saml2/SignIn
LogoutUrl: http://localhost:35245/Saml2/Logout
ApplicationUrl: http://localhost:35245/
有什么指点吗?
需要
?ReturnUrl=
而不是
?returnUrl=
经过身份验证后,用户始终会被发送到应用程序的根 url,即使他们最初请求的是深度 link。
我读到有 RelayState 的概念,但是我不确定这是否是我需要在某处明确查找为 属性 然后重定向的东西,或者应该是什么东西如果我设置正确,就会自动运行。
我试过tacking on a url to the signOn url,但似乎没有任何效果。不过,这只是我在浏览器中手动输入 url 的时候,所以我认为这不是“SP 启动的登录”
当我需要进行身份验证时,我会像这样重定向到深层 link(在尝试调试时进行硬编码)
string deepLink = "?returnUrl=http://localhost:35246" + app.Context.Request.FilePath;
string logInPage = "~/Saml2/SignIn" + deepLink;
HttpContext.Current.Response.Redirect(logInPage);
日志输出显示了这一点.. SignInUrl 应该显示不同的东西吗?
SUSTAINSYS [VERBOSE] Expanded Saml2Url
AssertionConsumerServiceUrl: http://localhost:35245/Saml2/Acs
SignInUrl: http://localhost:35245/Saml2/SignIn
LogoutUrl: http://localhost:35245/Saml2/Logout
ApplicationUrl: http://localhost:35245/
有什么指点吗?
需要
?ReturnUrl=
而不是
?returnUrl=