fix : get refresh token api

This commit is contained in:
Yusron alamsyah
2026-03-25 11:18:05 +07:00
parent e35dc0682b
commit 2fde68f5d8
+9 -18
View File
@@ -3,10 +3,6 @@ import axios from 'axios'
// Get runtime config for Nuxt 3
const config = useRuntimeConfig()
// Keycloak configuration for token refresh
const KEYCLOAK_TOKEN_URL = (config.public.keycloakUrl as string) || 'https://auth.rssa.top/realms/rssa/protocol/openid-connect/token'
const KEYCLOAK_CLIENT_ID = (config.public.keycloakClientId as string) || 'satu'
const KEYCLOAK_CLIENT_SECRET = (config.public.keycloakClientSecret as string) || 'ZhkK45MHB0a0eAZX5ecNTnlfnWlZXfBE'
// Create axios instance for local API
const api = axios.create({
@@ -43,25 +39,20 @@ const refreshAccessToken = async (): Promise<string | null> => {
throw new Error('No refresh token available')
}
const params = new URLSearchParams()
params.append('grant_type', 'refresh_token')
params.append('client_id', KEYCLOAK_CLIENT_ID)
params.append('client_secret', KEYCLOAK_CLIENT_SECRET)
params.append('refresh_token', refreshToken)
const response = await fetch(KEYCLOAK_TOKEN_URL, {
const response = await fetch(config.public.baseUrl+"/keycloak/refresh-token", {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: params.toString()
body: JSON.stringify({
refresh_token: refreshToken,
}),
})
if (!response.ok) {
throw new Error('Token refresh failed')
const responseBody = await response.json()
if (!response.ok || !responseBody?.success || !responseBody?.data) {
throw new Error(responseBody?.message || 'Token refresh failed')
}
const data = await response.json()
const data = responseBody.data
// Update tokens in localStorage
if (data.access_token) {