Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
Respuesta de Passport.js OAuth2Strategy que no contiene token de actualización

Actualmente, tengo un flujo Oauth2 para una API. El código funciona, pero no creo que esté funcionando como debería.

 const OAuth2Strategy = require('passport-oauth2'); passport.use(new OAuth2Strategy({ authorizationURL: authorizationURL, tokenURL: tokenURL, clientID: clientId, clientSecret: clientSecret, callbackURL: callbackURL, }, function(accessToken, refreshToken, results, profile, callback) { return callback(null, results); })) app.get('/auth/api', passport.authenticate('oauth2', {failureRedirect: '/fail', successRedirect: '/', scope: ['profile']}));

Me las arreglé para obtener un accestoken de acceso, un token de refreshtoken y results en la función de devolución de llamada, sin embargo, se están produciendo problemas menores. La primera es que el perfil devuelve un objeto vacío {} . No creo que el pasaporte pueda hacer nada al respecto debido a que la estrategia no es nativa de la API. El otro problema es que los results devuelven el token de acceso y su vencimiento, pero no devuelven el token de actualización en los resultados. Lo que no entiendo es que el refreshtoken devolución de llamada del token de actualización está devolviendo el token de actualización, pero el resultado no lo contiene.

Lo que espero recibir de acuerdo con la documentación de la API es:

 { access_token: "...", expires_in: 300, refresh_expires_in: 1800, refresh_token: "...", token_type: "bearer", 'not-before-policy': 0, scope: "profile" }

pero lo que obtengo es:

 { access_token: '...', expires_in: 900, refresh_expires_in: 0, token_type: 'Bearer', 'not-before-policy': 0, scope: 'offline_access email profile' }

Podría fusionar el refreshtoken de actualización y los results , pero si este es el resultado actual, seguramente estoy haciendo algo mal. ¿Tiene esto que ver con la estrategia que estoy usando?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Según los documentos, la devolución de llamada recibe solo cuatro parámetros:

 function(accessToken, refreshToken, profile, cb) { ... }

No hay parámetro de results . Aún así, puede pasar a su devolución de llamada ( cb en el código anterior) cualquier cosa que desee de las cosas que recibió en la devolución de llamada del pasaporte. Si tiene el token de actualización en el parámetro refreshToken , simplemente páselo a su cb si lo necesita allí.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda