ReactJS:Okta Auth RestoreOriginalUri 函数不重定向
ReactJS: Okta Auth RestoreOriginalUri Function not Redirecting
我被这个问题困扰了很长一段时间。
我正在为我的 React SPA 使用 Okta 身份验证,一切进展顺利,但是 restoreOriginalUri
函数实际上并没有 route/redirect 返回到成功身份验证时的原始 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
有什么想法吗?
TIA
尝试将您的 restorOriginalUri
const 更改为以下内容:
const restoreOriginalUri = async (oktaAuth, originalUri) => {
history.replace(toRelativeUrl(originalUri || '/', window.location.origin));
};
我被这个问题困扰了很长一段时间。
我正在为我的 React SPA 使用 Okta 身份验证,一切进展顺利,但是 restoreOriginalUri
函数实际上并没有 route/redirect 返回到成功身份验证时的原始 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
有什么想法吗?
TIA
尝试将您的 restorOriginalUri
const 更改为以下内容:
const restoreOriginalUri = async (oktaAuth, originalUri) => {
history.replace(toRelativeUrl(originalUri || '/', window.location.origin));
};