我们用于创建应用的代码位于this site
我们从该链接中唯一改变的是config.js:
var config = {}
config.idmURL = 'https://account.lab.fiware.org/';
config.client_id = 'f9b5940d67a741a38039690e4d6e6c6f';
config.client_secret = 'c9f854c96c9e4c70a0d402bce3233a17';
config.callbackURL = 'http://panonit.com:8802/user_info';
// Depending on Grant Type:
// Authorization Code Grant: code
// Implicit Grant: token
config.response_type = 'code';
module.exports = config;
部署节点服务器时,我们启动并运行以下站点(在同事笔记本电脑上): 你可以在欧洲中部时间09h和18h之间看到它。
点击登录后,我们将被正确地带到用户可以进行身份验证的fiware网站:
为了解决这个问题,我们只更改了server.js以仅输出响应:
// Ask IDM for user info
app.get('/user_info', function(req, res){
var url = config.idmURL + '/user/';
// Using the access token asks the IDM for the user info
oa.get(url, req.session.access_token, function (e, response) {
//var user = JSON.parse(response);
var user = response;
console.log("Getting user response is: " + user)
//res.send("Welcome " + user.displayName + "<br> Your email address is " + user.email + "<br><br><button onclick='window.location.href=\"/logout\"'>Log out</button>");
res.send("Welcome " + user)
});
});
执行此操作后,我们重新启动了服务器。从这里我们再次按下登录并验证应用程序使用情况,而不是我们得到的网站中断:
这里我们得出结论,响应是一个空对象,因为打印出未定义。
我们在这里做错了什么?
答案 0 :(得分:2)
检查它,问题是你使用了错误的回调网址。如果您选中server.js
,则您使用的回调网址的路径为/user_info
,要使用该路径,首先您需要在req.session.access_token
检索到的/login
。只需更改回调网址:
config.callbackURL = 'http://panonit.com:8802/login';
一切都应该有效。另请记住在您的IdM应用配置中更改它!
答案 1 :(得分:0)
BR