OpenID 重定向 URI 添加 # 符号
OpenID Redirect URI adds a # symbol
我已经在 OneLogin 上配置了一个 OpenID Connection 应用程序(不确定提供商是否重要),配置的 post MFA 身份验证重定向 URI 为
http://localhost:4200/LoginResponse.aspx?
我的 LoginResponse.aspx 页面背后的代码抓取 returned id_token 并处理它。
问题是在我最初重定向到 MFA 登录并成功 login/MFA 验证后,重定向即将到达
http://localhost:4200/LoginResponse.aspx#id_token=12345678987......
请注意我的 .aspx 扩展名后的“#”符号。这破坏了 returned 的参数字符串,不允许我从响应中获取 id_token 的值。
重定向返回后,如果我只是手动将“#”替换为“?”然后按回车键,我的 LoginResponse.aspx 页面加载正常并找到 id_token 并使用我的业务逻辑处理它。
我的问题是,我怎样才能将重定向 return 重定向到“LoginResponse.aspx?”这样我就可以获取参数了。
在我的 OpenID 应用程序中,我尝试了以下选项作为重定向 URI
- 登录响应
- LoginResponse.aspx
- LoginResponse.aspx?
- LoginResponse.aspx?action=测试
最后一个是为了看看我是否可以绕过?不在那里。但这只是将页面重定向到“LoginResponse.aspx?action=test#id_token=......”所以我又一次无法抓住“id_token" URL Response/QueryString.
中的变量
我只是想不出如何摆脱这个不需要的“#”符号并拥有一个“?”在我的 .aspx 扩展名之后。
如有任何帮助,我们将不胜感激!
我假设您正在使用隐式流程来检索令牌,并且在此流程中,您可以使用 # 取回 URL 中的令牌。添加 # 以确保令牌不会发送回服务器,而只是留在浏览器中。如果它是#,那么秘密令牌将被发送回服务器并最终出现在各种日志中并产生各种安全问题。
我不知道你是怎么实现客户端的,但是在OpenID Connect中,如果你在初始授权请求中添加这个参数“&response_mode=form_post”,那么你会得到使用 POST 请求返回令牌。就像这张图所示:
PS,我怀疑您能否使用 ?而不是#.
我已经在 OneLogin 上配置了一个 OpenID Connection 应用程序(不确定提供商是否重要),配置的 post MFA 身份验证重定向 URI 为
http://localhost:4200/LoginResponse.aspx?
我的 LoginResponse.aspx 页面背后的代码抓取 returned id_token 并处理它。
问题是在我最初重定向到 MFA 登录并成功 login/MFA 验证后,重定向即将到达
http://localhost:4200/LoginResponse.aspx#id_token=12345678987......
请注意我的 .aspx 扩展名后的“#”符号。这破坏了 returned 的参数字符串,不允许我从响应中获取 id_token 的值。
重定向返回后,如果我只是手动将“#”替换为“?”然后按回车键,我的 LoginResponse.aspx 页面加载正常并找到 id_token 并使用我的业务逻辑处理它。
我的问题是,我怎样才能将重定向 return 重定向到“LoginResponse.aspx?”这样我就可以获取参数了。
在我的 OpenID 应用程序中,我尝试了以下选项作为重定向 URI
- 登录响应
- LoginResponse.aspx
- LoginResponse.aspx?
- LoginResponse.aspx?action=测试
最后一个是为了看看我是否可以绕过?不在那里。但这只是将页面重定向到“LoginResponse.aspx?action=test#id_token=......”所以我又一次无法抓住“id_token" URL Response/QueryString.
中的变量我只是想不出如何摆脱这个不需要的“#”符号并拥有一个“?”在我的 .aspx 扩展名之后。
如有任何帮助,我们将不胜感激!
我假设您正在使用隐式流程来检索令牌,并且在此流程中,您可以使用 # 取回 URL 中的令牌。添加 # 以确保令牌不会发送回服务器,而只是留在浏览器中。如果它是#,那么秘密令牌将被发送回服务器并最终出现在各种日志中并产生各种安全问题。
我不知道你是怎么实现客户端的,但是在OpenID Connect中,如果你在初始授权请求中添加这个参数“&response_mode=form_post”,那么你会得到使用 POST 请求返回令牌。就像这张图所示:
PS,我怀疑您能否使用 ?而不是#.