我已经在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身份验证为什么失败的更多信息,以便我可以检查哪个配置错误吗?
谢谢!
答案 0 :(得分:1)
我终于设法知道出了什么问题...我尝试将DEBUG设置为“ passport ”(DEBUG =“ passport ”),然后我有了有关控制台的大量信息。我检查了这些信息,发现问题是我签发了一个自签名证书,以使用本地Wordpress服务器进行测试。
对于需要它的任何人,为了避免Passport(或其他任何东西)抱怨使用自签名证书,我添加了以下行:
if ('development' == app.get('env')) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
}
在我的初始.js文件中(在我的情况下为index.js)。这样可以避免任何SSL调用由于自签名证书而失败,而不仅仅是警告。