Skip to content

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).

ts
import { OAuth2 } from '@flowlu/miniapp-jssdk'

Propiedades

accessToken

Token de acceso OAuth2 actual

ts
get accessToken(): string

events

Objeto EventCallbacks<OAuth2EventName> con los manejadores de eventos

ts
get events(): EventCallbacks
set events(value: EventCallbacks)

expiresAt

Fecha y hora de expiración del token de acceso

ts
get expiresAt(): Date | null

refreshToken

Token de actualización OAuth2 actual

ts
get refreshToken(): string

Mé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

ts
static initialize(params?: OAuth2Params): OAuth2
ParámetroTipoDescripción
paramsOAuth2ParamsParámetros de inicialización

getInstance

Devuelve la instancia singleton actual de OAuth2. Llamar solo después de initialize()

ts
static getInstance(): OAuth2

Errores

El método lanzará un error si OAuth2 aún no se ha inicializado.

destroy

Elimina las suscripciones y libera los recursos

ts
destroy(): void

refresh

Actualiza forzosamente los tokens OAuth2 a través de la plataforma y devuelve OAuth2RefreshResult con los nuevos valores de los tokens

ts
async refresh(): Promise<OAuth2RefreshResult>

Eventos del método refresh():

EventoParámetroTipoDescripción
'onRefresh'Tokens actualizados correctamente
dataOAuth2RefreshResultObjeto con los tokens actualizados

Ejemplo

ts
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()
js
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();

Publicado bajo la licencia MIT.