FwJwt

Geracao e validacao de JWT (JSON Web Tokens). Padrao moderno de autenticacao stateless em REST APIs.

Assinatura: cToken := FwJwt():generate(oPayload, cSecret) / oPayload := FwJwt():verify(cToken, cSecret)

Retorna: Character

FwJwt implementa JWT — token assinado contendo claims (payload). Padrao em REST APIs modernas.

// Gerar token apos login
oPayload := JsonObject():New()
oPayload["sub"]  := cUserId
oPayload["exp"]  := Now() + (8 / 24)  // 8 horas
oPayload["role"] := "admin"

cToken := FwJwt():generate(oPayload, GetMV("MV_JWTSEC"))

// Em endpoint protegido
@Get("/api/v1/private")
function Endpoint()
    cToken := SubStr(oRequest:getHeader("Authorization"), 8)  // "Bearer XXX"

    try
        oClaims := FwJwt():verify(cToken, GetMV("MV_JWTSEC"))
        cUser   := oClaims["sub"]
        // ...
    catch e
        oResponse:setStatus(401)
        Return '{"error":"unauthorized"}'
    endtry
return

Pegadinhas

Veja também