OAuth2
OAuth2 — classe para gerenciamento de tokens de autorização OAuth2. A instância singleton fica disponível através da propriedade rest.oauth2 após a inicialização do Frame.
Adiciona automaticamente o cabeçalho Authorization a cada requisição e renova os tokens ao receber um erro de autorização (HTTP 401).
import { OAuth2 } from '@flowlu/miniapp-jssdk'Propriedades
accessToken
Token de acesso OAuth2 atual
get accessToken(): stringevents
Objeto EventCallbacks<OAuth2EventName> com os manipuladores de eventos
get events(): EventCallbacks
set events(value: EventCallbacks)expiresAt
Data e hora de expiração do token de acesso
get expiresAt(): Date | nullrefreshToken
Token de atualização OAuth2 atual
get refreshToken(): stringMétodos
initialize
Inicializa a instância singleton de OAuth2. Se uma instância já existir — atualiza os manipuladores de eventos a partir dos parâmetros fornecidos
static initialize(params?: OAuth2Params): OAuth2| Parâmetro | Tipo | Descrição |
|---|---|---|
params | OAuth2Params | Parâmetros de inicialização |
getInstance
Retorna a instância singleton atual de OAuth2. Chame apenas após initialize()
static getInstance(): OAuth2Erros
O método lançará um erro se OAuth2 ainda não tiver sido inicializado.
destroy
Remove inscrições e libera recursos
destroy(): voidrefresh
Força a renovação dos tokens OAuth2 através da plataforma e retorna OAuth2RefreshResult com os novos valores dos tokens
async refresh(): Promise<OAuth2RefreshResult>Eventos do método refresh():
| Evento | Parâmetro | Tipo | Descrição |
|---|---|---|---|
'onRefresh' | Tokens renovados com sucesso | ||
data | OAuth2RefreshResult | Objeto com os tokens renovados |
Exemplo
import { App, OAuth2 } from '@flowlu/miniapp-jssdk'
await App.initializeFrame()
const oauth2 = OAuth2.getInstance()
// inscrever-se no evento de renovação do token
oauth2.events = {
onRefresh: (data) => {
console.log('Tokens renovados:', data)
}
}
// forçar a renovação do token
const result = await oauth2.refresh()const App = window.FlowluMiniApp;
const frame = await App.initializeFrame();
// inscrever-se no evento de renovação do token
frame.rest.oauth2.events = {
onRefresh: (data) => {
console.log('Tokens renovados:', data);
}
};
// forçar a renovação do token
const result = await frame.rest.oauth2.refresh();