【发布时间】:2016-10-18 06:22:52
【问题描述】:
正如here 所讨论的,我正在使用 Azure 移动应用后端 (nodeJS)。我一直在使用默认的 Web 设置配置来开发我的移动应用程序,但现在我想自定义云后端功能,所以我使用 Azure-Mobile-Apps SDK 创建了一个本地后端。
我使用我的移动应用程序登录(使用 Azure 客户端 SDK 的授权方面),然后捕获了 AuthToken。
然后我构造了一个 Postman HTTP POST 请求,带有这些标头:
ZUMO-API-VERSION = 2.0.0
x-zumo-auth = eyJ0eX000000000000000000000000000000.eyJ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000-000000000_00000_00000
注意:我的 tokenm 实际上并没有所有这些零,它看起来像是一个有效的令牌。
但是,POST 请求的响应是:
{ "name": "JsonWebTokenError", “消息”:“无效签名” }
我认为这可能是因为 Auth 令牌是由不同的服务(默认后端而不是我在 localhost 上运行的项目)生成的。所以我用 localhost 初始化了一个客户端,并尝试用它进行身份验证,但我得到了:
JS:登录时出错!错误:未启用使用所选身份验证提供程序登录 chromium: [INFO:CONSOLE(12)] "不允许加载本地资源: file:///android_asset/webkit/android-weberror.png", 来源: data:text/html,chromewebdata (12)
更新:
我从https://myApp.scm.azurewebsites.net/Env.cshtml 找到了我的WEBSITE_AUTH_SIGNING_KEY 并将其添加到我的azureMobile.js file,它与我的app.js 文件位于同一目录中。它看起来像这样:
console.log("Test");
module.exports = {
cors: {
origins: ['localhost']
},
data: {
provider: 'mssql',
server: '127.0.0.1',
database: 'mytestdatabase',
user: 'localDemo',
password: 'myPassword'
},
logging: {
level: 'verbose'
},
auth: { secret: 'xzy0000000000000000000000000000000000' },
};
但是,我仍然得到相同的结果。有没有办法判断我的 azureMobile 文件是否被正确引用,或者是否有其他问题?
【问题讨论】:
标签: node.js azure authentication azure-mobile-services jwt