You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt3集成Sidebase Nuxt-Auth与Keycloak的AccessToken获取验证问题

Nuxt 3 + Nuxt-Auth + Keycloak:无法获取Keycloak Access Token用于后端请求

问题背景

我正在开发Nuxt 3应用,已使用Sidebase的Nuxt-Auth模块集成以Keycloak为身份提供商的认证功能,登录/退出流程正常,但在使用颁发的access token向Spring Boot后端发起认证请求时遇到问题。

问题描述

认证成功后,我通过Nuxt-Auth的getToken方法获取令牌用于API请求,但得到的似乎是无效的Nuxt-Auth会话令牌,而非所需的Keycloak access token。

根据官方文档,jwt回调应将access token加入会话,但我的回调中无access token,且account和user对象始终为undefined。

相关代码片段

获取令牌的代码

// Token retrieval endpoint in Nuxt
import { getToken } from "#auth"

export default eventHandler(async (event) => {
    const token = await getToken({ event, raw: true, secret: process.env.NEXTAUTH_SECRET });
    console.log(token);
    return token || 'no token present';
});

Nuxt-Auth处理器配置

// NuxtAuthHandler configuration
import KeycloakProvider from 'next-auth/providers/keycloak';
import { NuxtAuthHandler } from '#auth';

export default NuxtAuthHandler({
    secret: process.env.NEXTAUTH_SECRET,
    providers: [
        KeycloakProvider.default({
            clientId: process.env.KEYCLOAK_CLIENT_ID,
            clientSecret: process.env.KEYCLOAK_CLIENT_SECRET,
            issuer: process.env.KEYCLOAK_ISSUER_URL,
            idToken: true,
            wellKnown: process.env.KEYCLOAK_WELLKNOWN,
            authorization: {
                params: {
                    redirect_uri: `${process.env.NEXTAUTH_URL}/api/auth/callback/keycloak`,
                },
            }
        }),
    ],
    callbacks: {
        jwt({ token, account, user }) {
            console.log(token, account, user);
            return token;
        },
        session: (data) => {
            return data.session;
        }
    },
});

疑问

  • 如何正确获取Keycloak颁发的access token并用于Spring Boot后端请求?
  • 是否遗漏配置步骤,无法将access token集成到会话中?
  • 是否因Keycloak配置错误导致access token未出现在回调中?

已解决

问题已解决,虽无法还原具体操作,但关键是将sessionStrategy设置为jwt以确保回调正常执行,该问题可关闭。


内容的提问来源于stack exchange,提问作者kSp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 17:03:24