Loading...
You probably don't need to do it. The token refresh is handled automatically for you, however you can manually trigger a token refresh:
You can also track when the token are being refreshed:
Or directly in your component:
import { createOidc } from "oidc-spa"; const oidc = await createOidc({ ... }); if( oidc.isUserLoggedIn ){ oidc.renewToken(); }
import { useOidc } from "oidc"; import { useEffect } from "react"; function MyComponent(){ const { renewTokens } = useOidc({ assertUserLoggedIn: true }); useEffect(()=> { renewTokens(); }, []); return <>...</>; }
import { createOidc } from "oidc-spa"; const oidc = await createOidc({ ... }); if( !oidc.isUserLoggedIn ){ oidc.subscribeToTokensChange(() => { console.log("Tokens change", oidc.getTokens()); }); }
import { createReactOidc } from "oidc-spa/react"; export const { /* ... */ getOidc } = createReactOidc({ /* ... */ }); getOidc().then(oidc => { if( !oidc.isUserLoggedIn ){ return; } oidc.subscribeToTokensChange(() => { console.log("Tokens change", oidc.getTokens()); }); });
import { useOidc } from "./oidc"; export function PotectedPage() { const { oidcTokens } = useOidc({ assertUserLoggedIn: true}); useEffect(()=> { console.log("Tokens changed", oidcTokens); }, [oidcTokens]); // ... }