首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不工作: PingFederate+Passport.js Ping

问不工作: PingFederate+Passport.js Ping
EN

Stack Overflow用户
提问于 2014-09-22 14:28:03
回答 1查看 1.2K关注 0票数 2

我正在尝试使用PingFederate作为我的身份验证服务器和passport-ping npm登录。

我做了所有常见的配置,即

代码语言:javascript
复制
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});
    }
);

和

代码语言:javascript
复制
  // 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尝试解析此授权码时,会抛出以下错误:

代码语言:javascript
复制
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)

有谁能帮帮我吗?我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-12-22 17:26:53

不是Passport解析响应失败,而是PingFederate授权服务器返回错误响应;您应该根据PingFederate中的配置检查您使用的client_id/client_secret;FWIW:clientSecret: config.facebook.clientSecret对我来说似乎是一个可疑的秘密,可以用来对抗PingFederate...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25967853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档