I am using a custom sign-in with a react-native app, similar to the example provided by Okta here: https://github.com/okta/samples-js-react-native/tree/master/custom-sign-in
As you can see in
LoginScreen.js, it is using the
signIn method from okta-auth-js library to get a
sessionToken, and then calling the
authenticate method from okta-react-native SDK to get the
This all works fine for me, but I’m unsure of how to refresh the
accessToken manually. There’s a method in okta-react-native called
refreshTokens but it is throwing an error when called:
Error: Error fetching fresh tokens: Unable to refresh expired token without a refresh token.
I do not see a way to get a
refreshToken in the documentation for neither okta-auth-js nor okta-react-native. I need to refresh the
accessToken every time the user makes a request to the server. This is how my app works currently, and I’m trying to migrate to Okta with minimal impact to the app flow.
I’m able to use this flow in a React web app by calling
authClient.tokenManager.renew('accessToken') but this does not work in a react-native application.
Can someone please advise how I can refresh the tokens?
PS. I do not want to use the webview modal login that Okta provides with the
signIn method, as it is very disruptive to my app flow.