Skip to content

Commit fd237f9

Browse files
committed
feat(): provide a meaningful error message even if keycloak-js does not throw one
1 parent 75f9801 commit fd237f9

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/keycloak.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ describe('keyckoak', () => {
5757
createKeycloak(keycloakConfig)
5858
await getToken()
5959

60-
expect(hasFailed).toBeCalledWith(true, undefined)
60+
expect(hasFailed).toBeCalledWith(true, expect.any(Error))
6161
})
6262
})
6363

@@ -114,7 +114,7 @@ describe('keyckoak', () => {
114114
expect(hasFailed).toBeCalledTimes(1)
115115
expect(isPending).toBeCalledTimes(2)
116116
expect(isPending).toBeCalledWith(false)
117-
expect(hasFailed).toBeCalledWith(true, undefined)
117+
expect(hasFailed).toBeCalledWith(true, expect.any(Error))
118118
expect(isAuthenticated).toBeCalledWith(false)
119119
})
120120
})

src/keycloak.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ export type KeycloakInstance = Keycloak | undefined
77

88
let $keycloak: KeycloakInstance = undefined
99

10-
export async function getToken(minValidity: number = 10): Promise<string> {
11-
return updateToken(minValidity)
12-
}
13-
14-
export async function updateToken(minValidity: number): Promise<string> {
10+
async function updateToken(minValidity: number): Promise<string> {
1511
try {
1612
await $keycloak.updateToken(minValidity)
1713
setToken($keycloak.token, $keycloak.tokenParsed)
1814
} catch (err) {
19-
hasFailed(true, err)
15+
hasFailed(true, isNil(err) ? new Error('Failed to refresh the access token') : err)
2016
}
2117
return $keycloak.token
2218
}
2319

20+
export async function getToken(minValidity: number = 10): Promise<string> {
21+
return updateToken(minValidity)
22+
}
23+
2424
export function createKeycloak(config: KeycloakConfig): Keycloak {
2525
try {
2626
$keycloak = new Keycloak(config)
2727
setKeycloak($keycloak)
2828
} catch (err) {
29-
hasFailed(true, err)
29+
hasFailed(true, isNil(err) ? new Error('Failed to create the keycloak adapter') : err)
3030
}
3131
return $keycloak
3232
}
@@ -41,7 +41,7 @@ export async function initKeycloak(initConfig: KeycloakInitOptions): Promise<voi
4141
}
4242
} catch (err) {
4343
isAuthenticated(false)
44-
hasFailed(true, err)
44+
hasFailed(true, isNil(err) ? new Error('Failed to initialize the keycloak adapter') : err)
4545
} finally {
4646
isPending(false)
4747
}

0 commit comments

Comments
 (0)