Skip to content

Commit 483d005

Browse files
authored
Merge pull request #47 from NonozgYtb/master
fix: add refreshToken function and fix JWT parser
2 parents e7886a7 + 86d0cb6 commit 483d005

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ export class Skolengo {
105105
this.config = {
106106
httpClient: config?.httpClient ?? axios.create({ baseURL: BASE_URL }),
107107
onTokenRefresh: config?.onTokenRefresh ?? (() => {}),
108+
refreshToken: config?.refreshToken,
108109
handlePronoteError: config?.handlePronoteError ?? false
109110
}
110111
}
@@ -1056,7 +1057,9 @@ export class Skolengo {
10561057
*/
10571058
public getTokenClaims (): IdTokenClaims {
10581059
if (this.tokenSet.id_token === undefined) throw new TypeError('id_token not present in TokenSet')
1059-
return JSON.parse(atob((this.tokenSet.id_token).split('.')[1]))
1060+
const dataPart = this.tokenSet.id_token.split('.')?.at(1)?.replace(/-/g, '+').replace(/_/g, '/')
1061+
if (dataPart === undefined || dataPart.trim().length === 0) throw new TypeError('Invalid id_token')
1062+
return JSON.parse(atob(dataPart))
10601063
}
10611064

10621065
/**

0 commit comments

Comments
 (0)