2

PingFederate を認証サーバーとして使用し、passport-ping npmを使用してログインしようとしています。

私はすべての通常の構成を行いました。

app.get("/auth/ping", passport.authenticate("ping"));

app.get("/auth/ping/callback", 
    passport.authenticate("ping",{ failureRedirect: '/login'}),
    function(req,res){
        console.log(profile);
        res.render("profile", {user : req.user});
    }
);

  // Ping Strategy
  passport.use(new PingStrategy({
        host: 'blahblah.com',
        port: 9031,
        clientID: config.ping.clientID,
        clientSecret: config.facebook.clientSecret,
        callbackURL: config.ping.callbackURL
    },

  function(accessToken, refreshToken, profile, done) {
    User.findOrCreatePingUser(profile, done);
  }));

PingFederate から許可を与えることもでき、そこからリダイレクトが正常に行われています。ただし、Passport がこの認証コードを解析しようとすると、次のエラーがスローされます。

Express
500 TokenError: Invalid client or client credentials
at Strategy.OAuth2Strategy.parseErrorResponse (c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:298:12)
at Strategy.OAuth2Strategy._createOAuthError (c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:345:16)
at c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:171:43
at c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:177:18
at passBackControl (c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:124:9)
at IncomingMessage. (c:\Sandbox\node_modules\passport-ping\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:143:7)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:943:16
at process._tickCallback (node.js:419:13)

誰か助けてくれませんか?何か不足していますか?

4

1 に答える 1