He estado perplejo en este tema durante bastante tiempo.
Estoy usando la autenticación Okta para mi React SPA y todo va bien, sin embargo, la función restoreOriginalUri en realidad no enruta/redirige de regreso al URI original en una autenticación exitosa.
paquete.json
"@okta/okta-auth-js": "^5.6.0", "@okta/okta-react": "^6.2.0", "@okta/okta-signin-widget": "^5.8.1",Código:
<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)); }; Sé con certeza que la autenticación fue exitosa ya que una vez que recibo el mensaje de error y actualizo la página del navegador, puedo navegar a mis rutas protegidas y ver la identidad del usuario a través de los ámbitos sin tener que /login
¿Algunas ideas?
AIT
Intente cambiar su restorOriginalUri const a lo siguiente:
const restoreOriginalUri = async (oktaAuth, originalUri) => { history.replace(toRelativeUrl(originalUri || '/', window.location.origin)); };