javascript - Alexa:此时我们无法链接 * - Node、OAuth2 和 MongoDB
问题描述
在我尝试将存储在 MongoDB 数据库中的用户帐户与 Alexa 的帐户链接功能连接后,确认页面显示“我们此时无法链接 * ”。
我运行的 OAuth2 服务器由本教程组成:Building a RESTful API With Node — OAuth2 Server
整个身份验证流程工作正常,甚至访问令牌(称为值)也存储在我的数据库中。
我认为这是最重要的代码块,因为一切正常,我认为。
服务器.exchange
server.exchange(oauth2orize.exchange.code(function(client, code, redirectUri, callback) {
Code.findOne({ value: code }, function (err, authCode) {
if (err) { return callback(err); }
if (authCode === undefined) { return callback(null, false); }
if (client._id.toString() !== authCode.clientId) { return callback(null, false); }
if (redirectUri !== authCode.redirectUri) { return callback(null, false); }
// Delete auth code now that it has been used
authCode.remove(function (err) {
if(err) { return callback(err); }
// Create a new access token
var token = new Token({
value: uid(256),
clientId: authCode.clientId,
userId: authCode.userId
});
// Save the access token and check for errors
token.save(function (err) {
if (err) { return callback(err); }
callback(null, token);
});
});
});
}));
这些是我的 nginx 访问日志:
77.182.19.18 - dmnktoe [10/Mar/2019:15:12:27 +0100] "GET /api/oauth2/authorize?redirect_uri=https://layla.amazon.com/api/skill/link/*&client_id=amazonEchoServices&response_type=code&state=*very-long-state-value* HTTP/1.1" 200 525
77.182.19.18 - dmnktoe [10/Mar/2019:15:12:29 +0100] "POST /api/oauth2/authorize HTTP/1.1" 302 1520 "https://oauth2.healform.de/api/oauth2/authorize?redirect_uri=https://layla.amazon.com/api/skill/link/*&client_id=amazonEchoServices&response_type=code&state=*very-long-state-value*"
54.240.197.10 - amazonEchoServices [10/Mar/2019:15:12:29 +0100] "POST /api/oauth2/token HTTP/1.1" 200 434 "-" "Apache-HttpClient/4.5.x (Java/1.8.0_192)"
希望任何人都可以提供帮助。
更新:有点好笑,但所有亚马逊/Alexa 需要的只是我的令牌对象中的值。所以 callback(null, token); 成为回调(null,token.value);。
解决方案
更新:有点好笑,但所有亚马逊/Alexa 需要的只是我的令牌对象中的值。就这样callback(null, token);
变成了callback(null, token.value);
。
推荐阅读
- haskell - 尝试定义 newType 的实例时出现模棱两可的错误
- php - 从 PHP 到 shell 的参数传递
- java - 创建 Maven 依赖项而不是 .jar
- nattable - 支持撤消和重做操作
- python - 用 Python 打字
- javascript - 未捕获的类型错误:无法读取 javascript 上未定义的属性“样式”
- python - 使用 Pandas 将列复制到文件时遇到问题
- python - 使用 pyqtgraph 和线程的实时绘图
- php - Laravel 无法路由到 /admin
- php - 在 laravel 中使用多个翻译文件时出现 htmlspecialchars 错误