gpt4 book ai didi

node.js - 本地测试 Azure 移动身份验证 - jwt 签名无效

转载 作者:太空宇宙 更新时间:2023-11-03 22:52:27 38 4
gpt4 key购买 nike

我正在使用 Azure 移动应用程序后端 (nodeJS),如所讨论的 here 。我一直使用默认的 Web 设置配置来开发我的移动应用程序,但现在我想自定义云后端功能,因此我使用 Azure-Mobile-Apps SDK 创建了一个本地后端。 。

我使用移动应用程序登录(使用 Azure 客户端 SDK 的授权方面),然后捕获 AuthToken。

然后,我构建了一个 Postman HTTP POST 请求,其中包含以下 header :

ZUMO-API-VERSION = 2.0.0
x-zumo-auth = eyJ0eX000000000000000000000000000000.eyJ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000-000000000_00000_00000

注意:我的 token 实际上并没有所有这些零,它看起来像一个有效的 token 。

但是,POST 请求的响应是:

{ "name": "JsonWebTokenError", "message": "invalid signature" }

我认为这可能是因为身份验证 token 是由不同的服务生成的(默认后端而不是在本地主机上运行的我的项目)。因此,我使用 localhost 初始化了一个客户端,并尝试使用它进行身份验证,但我得到了:

JS: Error Logging in! Error: Logging in with the selected authentication provider is not enabled chromium: [INFO:CONSOLE(12)] "Not allowed to load local resource: file:///android_asset/webkit/android-weberror.png", source: data:text/html,chromewebdata (12)

更新:

我从 https://myApp.scm.azurewebsites.net/Env.cshtml 找到了我的 WEBSITE_AUTH_SIGNING_KEY 并将其添加到我的 azureMobile.js 文件,该文件是与我的 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 文件是否被正确引用,或者是否有其他问题?

最佳答案

要在本地验证托管服务创建的 JWT token ,您需要获取所使用的签名 key 。您可以通过打开浏览器访问 https://mobile-service-name.scm.azurewebsites.net/Env.cshtml 来获取此信息。并找到 WEBSITE_AUTH_SIGNING_KEY 的值。获取此值并通过在项目根目录中创建(或更新)名为 azureMobile.js 的文件(包含以下内容)来配置本地服务器:

module.exports = {
auth: { secret: 'value from WEBSITE_AUTH_SIGNING_KEY' }
};

建议通过将 azureMobile.js 添加到 .gitignore 文件来从部署中排除此文件。

关于node.js - 本地测试 Azure 移动身份验证 - jwt 签名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37864189/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com