sustainsys-saml2 - 为什么深度链接在身份验证后不起作用?
问题描述
验证后,用户总是被发送到应用程序的根 url,即使他们最初请求了深层链接。
我已经读到有一个 RelayState 的概念,但是我不确定这是否是我需要在某处显式查找作为属性然后重定向的东西,或者如果我正确设置了应该自动运行的东西。
我曾尝试将 url 添加到 signOn url,但这似乎没有任何影响。不过,这只是当我在浏览器中手动输入网址时,所以我认为这不是“SP 发起的登录”
当我需要进行身份验证时,我会重定向到这样的深层链接(仅在尝试调试时进行硬编码)
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=
推荐阅读
- r - 使用 RStudio 安装软件包时出错
- python - 带鼠标事件平移的 QPaint
- velo - Wix - 如何附加查询字符串参数
- react-native - Svg-Pattern 中的 React-Native OnPress 事件
- java - Java 堆栈跟踪中的“~[task/:na]”或“~[na:na]”是什么?
- sql - 如何查询航路点作为方向对?
- excel - Excel VBA - 如何删除少于X%的行具有价值的列
- python - python selenium webscrape
- javascript - 检测页面是否在新选项卡中打开
- swift - 表达式类型“()”在没有更多 XCTAssertEqual 上下文的情况下是模棱两可的