Utilisation d'un token OAuth obtenu avec Passport.js

a marqué ce sujet comme résolu.

Salut,

je travail sur un site permettant de s’identifier avec reddit, puis qui récupère des infos sur le compte.

Le site lui même est en nodejs, mais j’aimerais pouvoir utiliser Praw, donc python, pour faire les appels à l’API de reddit.

La connexion se fait avec Passport.js.

Voici mon code :

passport.use(new RedditStrategy({
  clientID: "AAA",
  clientSecret: "BBB",
  callbackURL: "http://127.0.0.1:3000/auth/reddit/callback",
  scope: ['identity', 'mysubreddits', 'read']
},
  function (accessToken, refreshToken, profile, done) {
    console.log("access Token :"+ accessToken);
    console.log("refresh Token :"+ refreshToken);

    ...
    });
  }
));


router.get('/auth/reddit/callback', function (req, res, next) {
  passport.authenticate('reddit', (err, user, info)=>{
    if(err){
      res.redirect('/fail');
    }
    else if(!user){
      res.redirect("/fail");
    }
    else{
      req.logIn(user, (e)=>{
        console.info("logged in");
        if(e) res.redirect("/fail")
        else res.redirect("/");
      });
    }

  })(req, res, next);
});

Cette partie marche bien, j’arrive à me connecter à Reddit. Cependant, si j’essaie d’utiliser le "access Token" qui est affiché pour me connecter avec python, en exécutant ceci:

reddit = praw.Reddit(
    client_id="AAA",
    client_secret="BBB",
    user_agent="web sign-in",
    redirect_uri="http://localhost:8080",
)

reddit.auth.authorize("l' access Token"")

Ca ne marche pas, j’ai un "OAuthException: invalid_grant error processing request".

Je dois louper quelque chose, mais je ne vois pas quoi. Une idée ?

Merci d’avance !

J’ai bien accès au "profile", avec les id, name etc.

Mais je n’ai pas essayé d’accéder à l’API, car je connais déjà Praw et je n’avais pas envie de voir comment l’utiliser avec nodejs, d’autant que j’ai n’ai pas trouvé d’exemple de code.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte