Class: TokenManager
Defined in: src/auth/manager.ts:36
유저 Access Token의 수명 관리.
- 만료 임박 시 선제 갱신, 401 시 갱신 후 1회 재시도(
withAccessToken) - Refresh Token이 일회용이므로 갱신은 single-flight로 직렬화하고, 새 토큰 묶음을 즉시 store에 반영한다.
Constructors
Constructor
ts
new TokenManager(options): TokenManager;Defined in: src/auth/manager.ts:43
Parameters
options
Returns
TokenManager
Methods
getAccessToken()
ts
getAccessToken(): Promise<string>;Defined in: src/auth/manager.ts:63
유효한 Access Token을 반환한다. 만료(임박) 시 자동 갱신.
Returns
Promise<string>
login()
ts
login(params): Promise<ChzzkTokenSet>;Defined in: src/auth/manager.ts:51
인가 코드로 토큰을 발급받아 store에 저장한다.
Parameters
params
Returns
Promise<ChzzkTokenSet>
refresh()
ts
refresh(): Promise<ChzzkTokenSet>;Defined in: src/auth/manager.ts:96
강제 갱신. 동시 호출은 하나의 갱신 요청으로 합쳐진다.
Returns
Promise<ChzzkTokenSet>
revoke()
ts
revoke(): Promise<void>;Defined in: src/auth/manager.ts:104
현재 토큰을 폐기하고 store를 비운다.
Returns
Promise<void>
setTokens()
ts
setTokens(tokens): Promise<void>;Defined in: src/auth/manager.ts:58
외부에서 발급/보관하던 토큰을 주입한다.
Parameters
tokens
Returns
Promise<void>
withAccessToken()
ts
withAccessToken<T>(fn): Promise<T>;Defined in: src/auth/manager.ts:81
Access Token으로 요청을 실행한다. 401(ChzzkAuthenticationError) 시 토큰을 갱신하고 정확히 1회 재시도한다.
Type Parameters
T
T
Parameters
fn
(accessToken) => Promise<T>
Returns
Promise<T>