使用nodejs passport集成第三方平台时的InternalOAuthError

时间:2015-01-28 03:36:14

标签: node.js facebook http ssl oauth

我想使用护照(使用paasport-facebook和qq)来验证用户身份。但遇到以下错误: 当我使用facebook auth时:

error when auth: { [InternalOAuthError: Failed to obtain access token]
name: 'InternalOAuthError',
message: 'Failed to obtain access token',
oauthError: [Error: Hostname/IP doesn't match certificate's altnames] }

当我使用qq auth时,我得到了这个:

name: 'InternalOAuthError',
message: 'failed to obtain access token',
oauthError: [Error: CERT_UNTRUSTED] }

这是我的/ etc / hosts文件:

127.0.0.1       www.siyee.org
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

因为auth回调必须是一个域,所以我更改了我的开发环境中的主机以匹配facebook服务器上的回调设置。它不聪明但可以生效。还有更好的主意吗?

我认为问题出在我的主机设置或证书中,但我不知道如何修复它,任何形式的帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

首先,我必须指定userinfo的访问权限,然后才能指定其他必要的服务。

    scope: [
        'https://www.googleapis.com/auth/userinfo.profile',
        'https://www.googleapis.com/auth/userinfo.email',
        'https://www.googleapis.com/auth/youtube'
    ]