1. install `cookie-universal-nuxt` to simplify re...
# support-questions
v
1. install
cookie-universal-nuxt
to simplify reading the cookies at ssr 2. Create the supertokens server plugin `plugins/supertokens.server.js`:
Copy code
export default async function ({ $cookies, error, route }) {
  let cookies = $cookies.getAll();

  if (
    !cookies.sAccessToken &&
    cookies.sIRTFrontend &&
    cookies.sIRTFrontend !== 'remove'
  ) {
    error({
      statusCode: 401,
      auth: 'refresh-session',
      refreshPath: route.fullPath,
    });
  }
}
3. Add the plugin to
nuxt.config.js
Copy code
export default {
{...}
  plugins: ['~/plugins/supertokens.server'],
{...}
}
4. add error handling at default error page at
created
hook `layouts/error.vue`:
Copy code
{... template}
<script lang="ts">
import SuperTokens from 'supertokens-website';
{...}
  reload() {
    window.location.reload();
  }

  async created() {
    if (
      process.client &&
      this.error.statusCode === 401 &&
      this.error.auth === 'refresh-session'
    ) {
      await SuperTokens.attemptRefreshingSession();
      this.reload();
    }
  }
{...}
</script>
Done. PS. Can you please check if my logic when to refresh (at 2.) is correct? Thank you