import type { AccessToken } from '@azure/core-auth'; import { IdentityProvider, TokenResponse } from '@redis/client/dist/lib/authx'; export class AzureIdentityProvider implements IdentityProvider { private readonly getToken: () => Promise; constructor(getToken: () => Promise) { this.getToken = getToken; } async requestToken(): Promise> { const result = await this.getToken(); return { token: result, ttlMs: result.expiresOnTimestamp - Date.now() }; } }