OAuth2
OAuth2 — clase para gestionar los tokens de autorización OAuth2. La instancia singleton está disponible a través de la propiedad rest.oauth2 después de la inicialización de Frame.
Agrega automáticamente el encabezado Authorization a cada solicitud y actualiza los tokens al recibir un error de autorización (HTTP 401).
import { OAuth2 } from '@flowlu/miniapp-jssdk'Propiedades
accessToken
Token de acceso OAuth2 actual
get accessToken(): stringevents
Objeto EventCallbacks<OAuth2EventName> con los manejadores de eventos
get events(): EventCallbacks
set events(value: EventCallbacks)expiresAt
Fecha y hora de expiración del token de acceso
get expiresAt(): Date | nullrefreshToken
Token de actualización OAuth2 actual
get refreshToken(): stringMétodos
initialize
Inicializa la instancia singleton de OAuth2. Si ya existe una instancia, actualiza los manejadores de eventos a partir de los parámetros proporcionados
static initialize(params?: OAuth2Params): OAuth2| Parámetro | Tipo | Descripción |
|---|---|---|
params | OAuth2Params | Parámetros de inicialización |
getInstance
Devuelve la instancia singleton actual de OAuth2. Llamar solo después de initialize()
static getInstance(): OAuth2Errores
El método lanzará un error si OAuth2 aún no se ha inicializado.
destroy
Elimina las suscripciones y libera los recursos
destroy(): voidrefresh
Actualiza forzosamente los tokens OAuth2 a través de la plataforma y devuelve OAuth2RefreshResult con los nuevos valores de los tokens
async refresh(): Promise<OAuth2RefreshResult>Eventos del método refresh():
| Evento | Parámetro | Tipo | Descripción |
|---|---|---|---|
'onRefresh' | Tokens actualizados correctamente | ||
data | OAuth2RefreshResult | Objeto con los tokens actualizados |
Ejemplo
import { App, OAuth2 } from '@flowlu/miniapp-jssdk'
await App.initializeFrame()
const oauth2 = OAuth2.getInstance()
// suscribirse al evento de renovación del token
oauth2.events = {
onRefresh: (data) => {
console.log('Tokens renovados:', data)
}
}
// forzar la renovación del token
const result = await oauth2.refresh()const App = window.FlowluMiniApp;
const frame = await App.initializeFrame();
// suscribirse al evento de renovación del token
frame.rest.oauth2.events = {
onRefresh: (data) => {
console.log('Tokens renovados:', data);
}
};
// forzar la renovación del token
const result = await frame.rest.oauth2.refresh();