我在网站上(在index.html页中)包含了okta sigin小部件。我已经将okta回调配置为“ / callback”。
在我的Nginx Web配置中,我包括了从“ / callback”到“ index.html”的临时URL重定向。
在index.html中,我包含了一个脚本,该脚本检查url是否具有“哈希参数”,并且是否具有okta脚本将解析这些参数,并在登录脚本运行后运行,否则将呈现okta登录小部件。
这在chrome和firefox中工作正常,但在Safari中不起作用。我在Google上搜索了一下,发现由于没有尾部斜杠,因此safari正在url重定向后剥离哈希部分。
但是要验证Safari是否正在剥离哈希部分,我进行了2次检查。
我在我的网站(相同域)中添加了一个测试链接。
<a href="/callback#hello=1">testlink</a>
当我单击此链接时,野生动物园将重定向到http://localhost/index.html#hello=1
我打开了一些Google页面(其他域),打开了浏览器控制台。我运行了这个脚本。
let at = document.createElement('a');
at.href="http://localhost/callback#hello=1"
at.click();
这次,野生动物园也成功重定向到“ http://localhost/index.html#hello=1”
我真的找不到为什么当okta击中带有哈希部分的回调URL时,会去除哈希部分的原因。这仅在野生动物园中发生