Skip to content

Serverside fetchAuthSession suddenly stopped returning tokens in local development #14452

Open
@qisaw

Description

@qisaw

Before opening, please confirm:

JavaScript Framework

React, Next.js

Amplify APIs

Authentication

Amplify Version

v6

Amplify Categories

auth

Backend

Other

Environment information

# Put output below this line

  System:
    OS: macOS 15.3.2
    CPU: (10) arm64 Apple M2 Pro
    Memory: 177.64 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v20.10.0/bin/yarn
    npm: 10.9.2 - ~/.nvm/versions/node/v20.10.0/bin/npm
    Watchman: 2023.08.28.00 - /opt/homebrew/bin/watchman
  Browsers:
    Brave Browser: 118.1.59.117
    Chrome: 137.0.7151.120
    Safari: 18.3.1
  npmPackages:
    @ampproject/toolbox-optimizer:  undefined ()
    @apollo/client: ^3.13.8 => 3.13.8
    @apollo/client-integration-nextjs: ^0.12.2 => 0.12.2
    @apollo/client/cache:  undefined ()
    @apollo/client/core:  undefined ()
    @apollo/client/dev:  undefined ()
    @apollo/client/errors:  undefined ()
    @apollo/client/link/batch:  undefined ()
    @apollo/client/link/batch-http:  undefined ()
    @apollo/client/link/context:  undefined ()
    @apollo/client/link/core:  undefined ()
    @apollo/client/link/error:  undefined ()
    @apollo/client/link/http:  undefined ()
    @apollo/client/link/persisted-queries:  undefined ()
    @apollo/client/link/remove-typename:  undefined ()
    @apollo/client/link/retry:  undefined ()
    @apollo/client/link/schema:  undefined ()
    @apollo/client/link/subscriptions:  undefined ()
    @apollo/client/link/utils:  undefined ()
    @apollo/client/link/ws:  undefined ()
    @apollo/client/masking:  undefined ()
    @apollo/client/react:  undefined ()
    @apollo/client/react/components:  undefined ()
    @apollo/client/react/context:  undefined ()
    @apollo/client/react/hoc:  undefined ()
    @apollo/client/react/hooks:  undefined ()
    @apollo/client/react/internal:  undefined ()
    @apollo/client/react/parser:  undefined ()
    @apollo/client/react/ssr:  undefined ()
    @apollo/client/testing:  undefined ()
    @apollo/client/testing/core:  undefined ()
    @apollo/client/testing/experimental:  undefined ()
    @apollo/client/utilities:  undefined ()
    @apollo/client/utilities/globals:  undefined ()
    @apollo/client/utilities/subscriptions/relay:  undefined ()
    @apollo/client/utilities/subscriptions/urql:  undefined ()
    @aws-amplify/adapter-nextjs: ^1.6.4 => 1.6.4
    @aws-amplify/adapter-nextjs/api:  undefined ()
    @aws-amplify/adapter-nextjs/data:  undefined ()
    @babel/core:  undefined ()
    @babel/runtime:  7.22.5
    @edge-runtime/cookies:  6.0.0
    @edge-runtime/ponyfill:  4.0.0
    @edge-runtime/primitives:  6.0.0
    @emotion/react: ^11.13.5 => 11.14.0
    @emotion/styled: ^11.13.5 => 11.14.0
    @googlemaps/places: ^2.0.1 => 2.0.1
    @graphql-codegen/cli: ^5.0.3 => 5.0.3
    @habx/apollo-multi-endpoint-link: ^2.9.0 => 2.9.0
    @hapi/accept:  undefined ()
    @hookform/resolvers: ^3.9.1 => 3.9.1
    @hookform/resolvers/ajv:  1.0.0
    @hookform/resolvers/arktype:  2.0.0
    @hookform/resolvers/class-validator:  1.0.0
    @hookform/resolvers/computed-types:  1.0.0
    @hookform/resolvers/effect-ts:  1.0.0
    @hookform/resolvers/fluentvalidation-ts:  1.0.0
    @hookform/resolvers/io-ts:  1.0.0
    @hookform/resolvers/joi:  1.0.0
    @hookform/resolvers/nope:  1.0.0
    @hookform/resolvers/superstruct:  1.0.0
    @hookform/resolvers/typanion:  1.0.0
    @hookform/resolvers/typebox:  1.0.0
    @hookform/resolvers/typeschema:  1.0.0
    @hookform/resolvers/valibot:  1.0.0
    @hookform/resolvers/vest:  1.0.0
    @hookform/resolvers/vine:  1.0.0
    @hookform/resolvers/yup:  1.0.0
    @hookform/resolvers/zod:  1.0.0
    @mswjs/interceptors:  undefined ()
    @mui/icons-material: ^6.1.10 => 6.2.0
    @mui/material: ^6.1.9 => 6.2.0
    @mui/material-nextjs: ^6.1.9 => 6.2.0
    @mui/x-date-pickers: ^7.28.0 => 7.28.0
    @napi-rs/triples:  undefined ()
    @next/font:  undefined ()
    @next/third-parties: ^15.3.0 => 15.3.0
    @opentelemetry/api:  undefined ()
    @react-oauth/google: ^0.12.1 => 0.12.1
    @stripe/react-stripe-js: ^3.1.1 => 3.1.1
    @stripe/stripe-js: ^5.3.0 => 5.3.0
    @tanstack/query-codemods:  undefined ()
    @tanstack/react-query: ^5.62.8 => 5.62.8
    @types/geojson: ^7946.0.15 => 7946.0.15
    @types/lodash.debounce: ^4.0.9 => 4.0.9
    @types/lodash.get: ^4.4.9 => 4.4.9
    @types/lodash.maxby: ^4.6.9 => 4.6.9
    @types/lodash.omit: ^4.5.9 => 4.5.9
    @types/lodash.uniqby: ^4.7.9 => 4.7.9
    @types/luxon: ^3.4.2 => 3.4.2
    @types/node: ^20 => 20.17.10
    @types/react: 19.0.12 => 19.0.12
    @types/react-big-calendar: ^1.16.0 => 1.16.0
    @types/react-dom: 19.0.4 => 19.0.4
    @types/react-lottie: ^1.2.10 => 1.2.10
    @types/react-scroll: ^1.8.10 => 1.8.10
    @types/uuid: ^10.0.0 => 10.0.0 (9.0.8)
    @vercel/nft:  undefined ()
    @vercel/og:  0.6.5
    @vis.gl/react-google-maps: ^1.4.2 => 1.4.2
    acorn:  undefined ()
    ajv: ^8.17.1 => 8.17.1 (6.12.6)
    amphtml-validator:  undefined ()
    anser:  undefined ()
    assert:  undefined ()
    async-retry:  undefined ()
    async-sema:  undefined ()
    aws-amplify: ^6.15.1 => 6.15.1
    aws-amplify/adapter-core:  undefined ()
    aws-amplify/adapter-core/internals:  undefined ()
    aws-amplify/analytics:  undefined ()
    aws-amplify/analytics/kinesis:  undefined ()
    aws-amplify/analytics/kinesis-firehose:  undefined ()
    aws-amplify/analytics/personalize:  undefined ()
    aws-amplify/analytics/pinpoint:  undefined ()
    aws-amplify/api:  undefined ()
    aws-amplify/api/internals:  undefined ()
    aws-amplify/api/server:  undefined ()
    aws-amplify/auth:  undefined ()
    aws-amplify/auth/cognito:  undefined ()
    aws-amplify/auth/cognito/server:  undefined ()
    aws-amplify/auth/enable-oauth-listener:  undefined ()
    aws-amplify/auth/server:  undefined ()
    aws-amplify/data:  undefined ()
    aws-amplify/data/server:  undefined ()
    aws-amplify/datastore:  undefined ()
    aws-amplify/in-app-messaging:  undefined ()
    aws-amplify/in-app-messaging/pinpoint:  undefined ()
    aws-amplify/push-notifications:  undefined ()
    aws-amplify/push-notifications/pinpoint:  undefined ()
    aws-amplify/storage:  undefined ()
    aws-amplify/storage/s3:  undefined ()
    aws-amplify/storage/s3/server:  undefined ()
    aws-amplify/storage/server:  undefined ()
    aws-amplify/utils:  undefined ()
    babel-packages:  undefined ()
    browserify-zlib:  undefined ()
    browserslist:  undefined ()
    buffer:  undefined ()
    bytes:  undefined ()
    ci-info:  undefined ()
    cli-select:  undefined ()
    client-only:  0.0.1
    commander:  undefined ()
    comment-json:  undefined ()
    compression:  undefined ()
    conf:  undefined ()
    constants-browserify:  undefined ()
    content-disposition:  undefined ()
    content-type:  undefined ()
    cookie:  undefined ()
    cross-spawn:  undefined ()
    crypto-browserify:  undefined ()
    css.escape:  undefined ()
    currency-symbol-map: ^5.1.0 => 5.1.0
    data-uri-to-buffer:  undefined ()
    debug:  undefined ()
    devalue:  undefined ()
    domain-browser:  undefined ()
    edge-runtime:  undefined ()
    eslint: ^8 => 8.57.1
    eslint-config-next: 15.2.4 => 15.2.4
    eslint-config-prettier: ^9.1.0 => 9.1.0
    events:  undefined ()
    find-up:  undefined ()
    fresh:  undefined ()
    get-user-locale: ^3.0.0 => 3.0.0
    glob:  undefined ()
    graphql: ^16.9.0 => 16.9.0 (15.8.0)
    gzip-size:  undefined ()
    http-proxy:  undefined ()
    http-proxy-agent:  undefined ()
    https-browserify:  undefined ()
    https-proxy-agent:  undefined ()
    icss-utils:  undefined ()
    ignore-loader:  undefined ()
    image-size:  undefined ()
    is-animated:  undefined ()
    is-docker:  undefined ()
    is-wsl:  undefined ()
    jest-worker:  undefined ()
    json5:  undefined ()
    jsonwebtoken:  undefined ()
    loader-runner:  undefined ()
    loader-utils:  undefined ()
    locale-code: ^2.0.2 => 2.0.2
    lodash.curry:  undefined ()
    lodash.debounce: ^4.0.8 => 4.0.8
    lodash.get: ^4.4.2 => 4.4.2
    lodash.maxby: ^4.6.0 => 4.6.0
    lodash.omit: ^4.5.0 => 4.5.0
    lodash.uniqby: ^4.7.0 => 4.7.0
    lru-cache:  undefined ()
    luxon: ^3.5.0 => 3.5.0
    mini-css-extract-plugin:  undefined ()
    nanoid:  undefined ()
    native-url:  undefined ()
    neo-async:  undefined ()
    next: 15.2.4 => 15.2.4
    next-sitemap: ^4.2.3 => 4.2.3
    node-html-parser:  undefined ()
    notistack: ^3.0.2 => 3.0.2
    ora:  undefined ()
    os-browserify:  undefined ()
    p-limit:  undefined ()
    p-queue:  undefined ()
    path-browserify:  undefined ()
    path-to-regexp:  undefined ()
    picomatch:  undefined ()
    postcss-flexbugs-fixes:  undefined ()
    postcss-modules-extract-imports:  undefined ()
    postcss-modules-local-by-default:  undefined ()
    postcss-modules-scope:  undefined ()
    postcss-modules-values:  undefined ()
    postcss-preset-env:  undefined ()
    postcss-safe-parser:  undefined ()
    postcss-scss:  undefined ()
    postcss-value-parser:  undefined ()
    prettier: ^3.4.1 => 3.4.2
    process:  undefined ()
    punycode:  undefined ()
    querystring-es3:  undefined ()
    raw-body:  undefined ()
    react: 19.0.0 => 19.0.0
    react-big-calendar: ^1.18.0 => 1.18.0
    react-builtin:  undefined ()
    react-day-picker: ^9.4.2 => 9.4.3
    react-dnd: ^16.0.1 => 16.0.1
    react-dnd-html5-backend: ^16.0.1 => 16.0.1
    react-dom: 19.0.0 => 19.0.0
    react-dom-builtin:  undefined ()
    react-dom-experimental-builtin:  undefined ()
    react-experimental-builtin:  undefined ()
    react-hook-form: ^7.53.2 => 7.54.0
    react-is:  19.1.0-canary-029e8bd6-20250306
    react-lottie: ^1.2.10 => 1.2.10
    react-refresh:  0.12.0
    react-scroll: ^1.9.3 => 1.9.3
    react-server-dom-turbopack-builtin:  undefined ()
    react-server-dom-turbopack-experimental-builtin:  undefined ()
    react-server-dom-webpack-builtin:  undefined ()
    react-server-dom-webpack-experimental-builtin:  undefined ()
    react-svg-credit-card-payment-icons: ^3.1.1 => 3.1.1
    regenerator-runtime:  0.13.4
    sass-loader:  undefined ()
    scheduler-builtin:  undefined ()
    scheduler-experimental-builtin:  undefined ()
    schema-dts: ^1.1.2 => 1.1.2
    schema-utils:  undefined ()
    semver:  undefined ()
    send:  undefined ()
    server-only:  0.0.1
    setimmediate:  undefined ()
    sharp: ^0.33.5 => 0.33.5
    shell-quote:  undefined ()
    source-map:  undefined ()
    source-map08:  undefined ()
    stacktrace-parser:  undefined ()
    stream-browserify:  undefined ()
    stream-chat: ^9.0.4 => 9.4.0
    stream-chat-react: ^13.0.5 => 13.0.5
    stream-http:  undefined ()
    string-hash:  undefined ()
    string_decoder:  undefined ()
    strip-ansi:  undefined ()
    superstruct:  undefined ()
    swiper: ^11.2.5 => 11.2.5
    tar:  undefined ()
    terser:  undefined ()
    text-table:  undefined ()
    timers-browserify:  undefined ()
    tty-browserify:  undefined ()
    typescript: ^5 => 5.7.2
    ua-parser-js:  undefined ()
    unistore:  undefined ()
    usehooks-ts: ^3.1.1 => 3.1.1
    util:  undefined ()
    uuid: ^11.0.5 => 11.0.5 (9.0.1)
    vm-browserify:  undefined ()
    watchpack:  undefined ()
    web-vitals:  undefined ()
    webpack:  undefined ()
    webpack-sources:  undefined ()
    ws:  undefined ()
    zod: ^3.23.8 => 3.24.1 ()
    zod-validation-error:  undefined ()
  npmGlobalPackages:
    @coach-squad/base-emails: 3.2.0
    @crimson-education/rv-api-base: 3.5.4
    @crimson-education/rv-markdown-ex: 1.0.33
    @eslint/migrate-config: 1.2.0
    @openai/codex: 0.1.2505191453
    corepack: 0.22.0
    create-react-admin: 4.16.16
    npm: 10.9.2
    react-dom: 18.1.0
    react: 18.1.0
    test-admin: 1.0.0
    yarn: 1.22.22

Describe the bug

I am using the next-js adapter for serverside and clientside authentication in my next-js app. I am confident I have set it up correctly and in fact this works perfectly well in production.

However, for the last 2 or 3 days, tokens are no longer returned in local development when fetching them from the serverside (I haven't changed anything recently other than move somewhere with slightly worse internet). I have looked through the other issues #14350 and #13456 but they do not explain why I am seeing this only locally.

Expected behavior

Tokens should be returned in my dev environment the same way they are returned in production environments.

Reproduction steps

  1. In a page.tsx file try to fetch the token and it is not returned

serverside.ts

import { cookies } from "next/headers";

import { createServerRunner } from "@aws-amplify/adapter-nextjs";
import { fetchAuthSession } from "aws-amplify/auth/server";

import { amplifyConfig } from "./config";

export const { runWithAmplifyServerContext } = createServerRunner({
  config: amplifyConfig,
});

export async function getTokensServerside() {
  try {
    const session = await runWithAmplifyServerContext({
      nextServerContext: { cookies },
      operation: async (contextSpec) => {
        const session = await fetchAuthSession(contextSpec);
        return session;
      },
    });
    const token = session.tokens?.accessToken.toString();
    return {
      accessToken: token ?? "none",
      isAuthenticated: !!token,
    };
  } catch {
    return {
      accessToken: "none",
      isAuthenticated: false,
    };
  }
}

import { RedirectType, redirect } from "next/navigation";
import { getTokensServerside } from "@/amplify/serverside";
import { LoginForm } from "./components/LoginForm";
import type { Metadata } from "next";
import { getClient } from "@/api/rscClient";
import { GetMe } from "@/api/usersAndLocations/graphql";

export const dynamic = "force-dynamic";

export default async function Page(props: {
  searchParams: Promise<{
    from: string | undefined;
    encoded: string | undefined;
  }>;
}) {
  const searchParams = await props.searchParams;
  const [{ from: fromParam, encoded }, { isAuthenticated }] = await Promise.all(
    [searchParams, getTokensServerside()],
  );
  if (isAuthenticated) {
   /// .. other stuff
  }
}

Code Snippet

My setup using the app router:

serverside.ts

import { cookies } from "next/headers";

import { createServerRunner } from "@aws-amplify/adapter-nextjs";
import { fetchAuthSession } from "aws-amplify/auth/server";

import { amplifyConfig } from "./config";

export const { runWithAmplifyServerContext } = createServerRunner({
  config: amplifyConfig,
});

export async function getTokensServerside() {
  try {
    const session = await runWithAmplifyServerContext({
      nextServerContext: { cookies },
      operation: async (contextSpec) => {
        const session = await fetchAuthSession(contextSpec);
        return session;
      },
    });
    const token = session.tokens?.accessToken.toString();
    return {
      accessToken: token ?? "none",
      isAuthenticated: !!token,
    };
  } catch {
    return {
      accessToken: "none",
      isAuthenticated: false,
    };
  }
}

clientside.tsx

"use client";
import { Amplify } from "aws-amplify";

import { amplifyConfig } from "./config";

Amplify.configure(amplifyConfig, { ssr: true });

export default function ConfigureAmplifyClientSide({
  children,
}: {
  children: React.ReactNode;
}) {
  return children;
}

my root layout

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body className={`${inter.variable} ${asimov.variable}`}>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

providers.tsx

"use client";
import { FC, ReactNode } from "react";

import { AppRouterCacheProvider } from "@mui/material-nextjs/v15-appRouter";
import ConfigureAmplifyClientSide from "@/amplify/clientside";


export const Providers: FC<{ children: ReactNode }> = ({ children }) => {
  return (
    <ConfigureAmplifyClientSide>
      <AppRouterCacheProvider> 
           // other providers
           {children}         
      </AppRouterCacheProvider>
    </ConfigureAmplifyClientSide>
  );
};

Log output

When I add logging to the next config

logging: { fetches: { fullUrl: true, }, }

I see that the requests take a long time. I suspect they may be timing out, but I have no way to check this.

 │ POST https://cognito-identity.us-east-1.amazonaws.com/ 200 in 2654ms (cache skip)
 │ │ Cache skipped reason: (cache: no-store)
 │ POST https://cognito-identity.us-east-1.amazonaws.com/ 200 in 3102ms (cache skip)
 │ │ Cache skipped reason: (cache: no-store)

I can confirm that the cookies are available in the serverside e.g. if i add logging for the cookies

 const session = await runWithAmplifyServerContext({
      nextServerContext: { cookies },
      operation: async (contextSpec) => {
        const cookieLog = await cookies()
        console.log(cookieLog)
        const session = await fetchAuthSession(contextSpec);
        return session;
      }

i can see the cookies

    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.LastAuthUser' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.LastAuthUser',
      value: '4bab76f8-d325-4501-9e13-1f98e21a8078'
    },
    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.accessToken' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.accessToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.idToken' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.idToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.refreshToken' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.refreshToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.signInDetails' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.signInDetails',
      value: '{"loginId":"<email>","authFlowType":"USER_SRP_AUTH"}'
    },
    'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.clockDrift' => {
      name: 'CognitoIdentityServiceProvider.4joc7jl09rf6fmmmnqnvfohqo9.4bab76f8-d325-4501-9e13-1f98e21a8078.clockDrift',
      value: '-914'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.LastAuthUser' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.LastAuthUser',
      value: '690a2dcf-fb1f-41e9-a726-21599dccb079'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.refreshToken' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.refreshToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.signInDetails' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.signInDetails',
      value: '{"loginId":"[email protected]","authFlowType":"USER_SRP_AUTH"}'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.accessToken' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.accessToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.idToken' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.idToken',
      value: '<value>'
    },
    'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.clockDrift' => {
      name: 'CognitoIdentityServiceProvider.42p77ebvlqof523te23ah923us.690a2dcf-fb1f-41e9-a726-21599dccb079.clockDrift',
      value: '-974'
    },

Also, i tried manually logging the error by adding console.log statements to
node_modules/@aws-amplify/auth/dist/esm/providers/tokenProvider/TokenStore.mjs

  async loadTokens() {
    // TODO(v6): migration logic should be here
    // Reading V5 tokens old format
    try {
      const authKeys = await this.getAuthKeys();
      const accessTokenString = await this.getKeyValueStorage().getItem(
        authKeys.accessToken,
      );
     // other code ...
      return tokens;
    } catch (err) {
      console.error("Error loading tokens:", err);
      return null;
    }

and the result is the following error

Error loading tokens: NoSessionFoundException: Auth session was not found. Make sure to call signIn.
    at async operation (src/amplify/serverside.ts:18:24)
    at async getTokensServerside (src/amplify/serverside.ts:14:20)
    at async Page (src/app/login/page.tsx:17:62)
  16 |       operation: async (contextSpec) => {
  17 |         console.log(await cookies());
> 18 |         const session = await fetchAuthSession(contextSpec);
     |                        ^
  19 |         return session;
  20 |       },
  21 |     }); {
  underlyingError: undefined,
  recoverySuggestion: undefined,
  constructor: [class AuthError extends AmplifyError]

I feel like I've tried everything and nothing will make this work locally anymore. Although it's very wired that the exact same code is working perfectly fine in production.

aws-exports.js

No response

Manual configuration

config.ts

import { config } from "@/config";
import { ResourcesConfig } from "aws-amplify";

export const amplifyConfig: ResourcesConfig = {
  Auth: {
    Cognito: {
      userPoolClientId: config.userPoolClientId,
      userPoolId: config.userPoolId,
      identityPoolId: config.identityPoolId,
      allowGuestAccess: true,
      passwordFormat: {
        minLength: 8,
        requireLowercase: true,
        requireNumbers: true,
        requireUppercase: true,
      },
      loginWith: {
        email: true,
        username: false,
      },
    },
  },
};

these variables are set as following:

NEXT_PUBLIC_USER_POOL_ID="us-east-1_Tb7NcMxsy"
NEXT_PUBLIC_USER_POOL_CLIENT_ID="42p77ebvlqof523te23ah923us"
NEXT_PUBLIC_IDENTITY_POOL_ID="us-east-1:85d3dc65-7bcd-45ad-bcbf-80d09b8cc539"

Additional configuration

No response

Mobile Device

No response

Mobile Operating System

No response

Mobile Browser

No response

Mobile Browser Version

No response

Additional information and screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    AuthRelated to Auth components/categoryfeature-requestRequest a new featurepending-maintainer-responseIssue is pending a response from the Amplify team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions