FeathersJS:如何调试OAuth2身份验证过程?

时间:2019-07-15 14:48:44

标签: oauth-2.0 feathersjs feathers-authentication

我已经在FeathersJS应用程序中成功使用OAuth2对Facebook,Github等进行身份验证。现在,我正在尝试使用它来使用WordPress OAuth Server对Wordpress服务器进行身份验证。我已经配置了它,并将所有配置参数设置为我认为是正确的值:

...
const OAuth2Strategy = require('passport-oauth2').Strategy;

...
app.configure(oauth2({
    name: 'wordpress',
    Strategy: OAuth2Strategy,
    authorizationURL: 'https://192.168.1.86/wp-content/plugins/miniorange-oauth-20-server/web/index.php/moserver/authorize',
    tokenURL: 'https://192.168.1.86/wp-content/plugins/miniorange-oauth-20-server/web/index.php/moserver/token',
    successRedirect: '/',
    failureRedirect: '/',
    clientID: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET'
  }));

,但FeathersJS服务器始终无法通过身份验证。问题是我看不到任何有关为什么失败的信息,设置环境变量DEBUG =“ feathers-authentication *”后获得的唯一信息是:

  feathers-authentication:express:expose-headers Exposing Express headers to hooks and services +36s
  feathers-authentication:express:expose-cookies Exposing Express cookies to hooks and services undefined +36s
  feathers-authentication:express:expose-headers Exposing Express headers to hooks and services +127ms
  feathers-authentication:express:expose-cookies Exposing Express cookies to hooks and services undefined +127ms
  feathers-authentication:middleware:failure-redirect Clearing old 'feathers-jwt' cookie +37s
  feathers-authentication:middleware:failure-redirect Redirecting to / after failed authentication. +0ms

有人知道如何获取有关OAuth2身份验证为什么失败的更多信息,以便我可以检查哪个配置错误吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我终于设法知道出了什么问题...我尝试将DEBUG设置为“ passport ”(DEBUG =“ passport ”),然后我有了有关控制台的大量信息。我检查了这些信息,发现问题是我签发了一个自签名证书,以使用本地Wordpress服务器进行测试。

对于需要它的任何人,为了避免Passport(或其他任何东西)抱怨使用自签名证书,我添加了以下行:

if ('development' == app.get('env')) {
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
}

在我的初始.js文件中(在我的情况下为index.js)。这样可以避免任何SSL调用由于自签名证书而失败,而不仅仅是警告。