gpt4 book ai didi

node.js - 使 Azure 移动应用程序接受 Node 后端的自定义身份验证

转载 作者:行者123 更新时间:2023-12-03 05:59:05 30 4
gpt4 key购买 nike

我正在尝试使用 Node.js 后端在 Azure 移动应用程序(不是旧的移动服务)中实现自定义身份验证,但我无法将操作完全转换为 Node.js。先前的问题指出自定义身份验证 "just works"带有 .NET 后端。我无法获取

我已复制Joy of code's example JWT generation (gist here)。我像这样调用它(内联 aud 和 userId):

zumoJWT(expiry,"MyAud","MyAud:1455527189540927",req.azureMobile.configuration.auth.secret);

我的注册 API 返回以下 JSON

{"user":{"userid":"MyAud:1455527189540927"},"token":"a lot of base64"}

我用这段代码将其放入 Android MobileServiceClient

JsonObject userob=ob.get("user").getAsJsonObject();
MobileServiceUser user=new MobileServiceUser(userob.get("userid").getAsString());
user.setAuthenticationToken(ob.get("token").getAsString());
mClient.setCurrentUser(user);

这给了我错误消息

com.microsoft.windowsazure.mobileservices.MobileServiceException: {"name":"JsonWebTokenError","message":"invalid signature"

下次我调用 API 时。如何让我的应用程序接受登录 token ?

编辑:服务器端日志显示

2016-02-15T11:42:35  PID[180] Warning     JWT validation failed: IDX10500: Signature validation failed. Unable to resolve SecurityKeyIdentifier: 'SecurityKeyIdentifier
(
IsReadOnly = False,
Count = 1,
Clause[0] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause
)
',
token: '{"alg":"HS256","typ":"JWT","kid":0}.{"exp":null,"iss":"urn:microsoft:windows-azure:zumo","ver":2,"aud":"MyAud","uid":"MyAud:1455534835642715"}
RawData: a lot of base64'..

最佳答案

我明白了。我需要有

mobile.configuration.auth.validateTokens=false;

在 app.js 中(或者更确切地说,没有将相同的变量设置为 true)。

关于node.js - 使 Azure 移动应用程序接受 Node 后端的自定义身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35405698/

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