我正在尝试让我的节点网页对我们内部的mediawiki系统进行身份验证,而不是使用节点passport-mediawiki-oauth。
我认为这一切都是正确的,只要我被转发到mediawiki登录页面,提供登录详细信息,然后从mediawiki (屏幕上,而不是返回代码)获得一个“未知的URL,E003”。我的问题是,我不知道是什么导致了这个问题。
我已经尝试设置了callbackURL (http://127.0.0.1:30005/auth/mediawiki/callback),我已经尝试将其留空以使用默认设置(与上面在mediawiki上的Oauth提案中提供的相同)。
我会进一步调查,但我已经对mediawiki进行了调试,没有信息。我曾尝试在issue E003上查找信息,但没有信息。如果我至少可以弄清楚它试图使用哪个URL作为反馈,看看这是不是问题所在,但我完全被卡住了。
passport-mediawiki-oauth的配置为(删除敏感信息):
consumerKey: "xxxxxxxxxxxxxxxxxxxxxxxx",
consumerSecret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
callbackURL: "http://127.0.0.1:30005/auth/mediawiki/callback",
requestTokenURL: 'http://192.168.0.51:8081/dbfswiki/index.php?title=Special:OAuth/initiate',
accessTokenURL: 'http://192.168.0.51:8081/dbfswiki/index.php?title=Special%3AOAuth%2Ftoken',
userAuthorizationURL: 'http://192.168.0.51:8081/dbfswiki//wiki/Special:OAuth/authorize',
baseURL: "http://192.168.0.51:8081/dbfswiki/index.php/Special:OAuth/authorize"身份验证的代码由以下代码处理:
passport.use('mediawiki', new MediaWikiStrategy({
consumerKey: configAuth.mediawikiAuth.consumerKey,
consumerSecret: configAuth.mediawikiAuth.consumerSecret ,
callbackURL: configAuth.mediawikiAuth.callbackURL,
baseURL: configAuth.mediawikiAuth.baseURL
},
function(token, tokenSecret, profile, done) {
User.findOrCreate({ mediawikiGlobalId: profile.id }, function (err, user) {
return done(err, user);
});
}
));发布于 2015-09-11 17:51:00
所以前进一步(后退一步)。在苦苦思索之后,我想我找到了问题所在。我原以为是回调URL出了问题,结果却发现是授权URL错了。passport-mediawiki-oauth似乎已经在模块代码中添加了这个应用程序twice/dbfswiki/index.php/Special:OAuth/authorizewiki/Special:OAuth/authorize?oauth_token=&oauth_consumer_key=449c71620457972e86ef20e083ccb87bFixed,只是要面对一个新的问题,我知道得到一个接受框,( OAuth ...我想要基本权限,当我按下OK时,我得到一个问题:你的输入有问题)
https://stackoverflow.com/questions/32520540
复制相似问题