身份验证后,Aibo API 未重定向到我的重定向 uri

问题描述

我正在尝试创建一个 aibo 可链接的应用程序。我有一个 node.js/express 应用程序正在运行,当我收到对“/”的请求时,我使用适当的参数重定向到 aibo 身份验证端点。当我访问我的站点时,它会正确显示 SONY 登录页面,我可以使用我的电子邮件和密码登录,但它会将我带到 myaibo.aibo.com 站点,而不是重定向到我的“/auth”端点。

这是我正在做的事情的一小段:

const CLIENT_ID = process.env.AIBO_CLIENT_ID;
const CLIENT_SECRET = process.env.AIBO_CLIENT_SECRET;
const REDIRECT_URI= 'https://aibo.jonfleming.net/auth';

app.get('/',(req,res,next) => {
  if(!req.session.authenticated) {
    req.session.state = randomGenerate(12);
    const url = `https://myaibo.aibo.com/account_link.html?state=${req.session.state}&` +
    `client_id=${CLIENT_ID}&scope=pub&redirect_uri=${REDIRECT_URI}&response_type=code`;

    res.redirect(url);
  } else {
    next();
  }
});

app.get('/auth',res) => {
  const code = req.query.code;
  const state = req.query.state;

  if (state === req.session.state) {
    // request access token
    // get deviceid
    // update header
    req.session.authenticated = true;
    res.send('Connected');
  }
});

'/auth' 端点永远不会被命中。

我还尝试显示一个可点击的链接来代替 res.redirect(url)。

res.send(`<html><body><a href="${url}">Sign In</a></body></html>`);

点击链接的结果相同。它会将我带到登录页面,但永远不会重定向回我的应用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)