在这个问题上我已经被难住了很长一段时间。
我正在为我的React SPA使用Okta身份验证,一切都很顺利,然而,在成功进行身份验证时,restoreOriginalUri函数实际上并不会路由/重定向回原始URI。
package.json
"@okta/okta-auth-js": "^5.6.0",
"@okta/okta-react": "^6.2.0",
"@okta/okta-signin-widget": "^5.8.1",代码:
<Security
oktaAuth={oktaAuth}
onAuthRequired={customAuthHandler}
restoreOriginalUri={restoreOriginalUri} // not working
>
<Switch>
<Provider store={store}>
<Route exact path="/" component={Home} />
<Route exact path="/reports" component={Reports} />
</Provider>
</Switch>
</Security>// restoreOriginalUri function
const restoreOriginalUri = async (_oktaAuth, originalUri) => {
console.log("restoring original uri...");
history.replace(toRelativeUrl(originalUri, window.location.origin));
};错误消息:

我知道身份验证是成功的,因为一旦我收到错误消息并刷新浏览器页面,我就能够导航到受保护的路由并通过作用域查看用户身份,而无需强制使用/login
有什么想法吗?
提亚
发布于 2021-10-20 17:12:43
尝试将您的restorOriginalUri常量更改为以下内容:
const restoreOriginalUri = async (oktaAuth, originalUri) => {
history.replace(toRelativeUrl(originalUri || '/', window.location.origin));
};https://stackoverflow.com/questions/69644106
复制相似问题