fix : get refresh token api
This commit is contained in:
+9
-18
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user