Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置js azure应用程序服务自定义登录身份验证_Javascript_Node.js_Api_Azure_Authentication - Fatal编程技术网

Javascript 设置js azure应用程序服务自定义登录身份验证

Javascript 设置js azure应用程序服务自定义登录身份验证,javascript,node.js,api,azure,authentication,Javascript,Node.js,Api,Azure,Authentication,两年前,我开始在azure移动服务中使用node.js实现我的自定义身份验证,以便在我的jquery/cordova appery.io应用程序中使用它。我有一个包含用户、密码等的数据库,node.js后端有一个登录api,可以生成如下有效的jwt: 但现在我已经迁移到azure应用程序服务,不知道如何使用javascript实现自定义身份验证 在上述示例中: “iss”:“urn:microsoft:windowsazure:zumo”, “版本”:2, “澳元”:澳元 但我已经读到,“a

两年前,我开始在azure移动服务中使用node.js实现我的自定义身份验证,以便在我的jquery/cordova appery.io应用程序中使用它。我有一个包含用户、密码等的数据库,node.js后端有一个登录api,可以生成如下有效的jwt:

但现在我已经迁移到azure应用程序服务,不知道如何使用javascript实现自定义身份验证

在上述示例中:

“iss”:“urn:microsoft:windowsazure:zumo”, “版本”:2, “澳元”:澳元

但我已经读到,“aud”和“iss”必须是我的azure网站,“sub”我自己的用户ID,才能在我的自定义身份验证中生成有效的jwt,以便在azure中使用它。是这样吗

重要的是代币。在Azure移动应用程序中使用第三方代币有一些要求: 它必须遵循Json Web令牌格式 用户Id必须位于主题(子)字段中 必须了解并配置受众(aud)和发卡机构(iss)

我使用ajax post调用我的登录API并获得有效的JWT令牌(),但我不知道登录和使用azure服务的正确过程,因为我不知道在我的应用程序上使用它的正确方法。我已在应用程序中将MobileServices.Web.min.js更改为azure-mobile-apps-client.js。

我是否可以使用在azure node.js中创建的jwt令牌,或者将其交换为会话令牌,并使用js SDK提供的client.login()方法

编辑: 我再一次看到了阿贾克斯帖子的亮点
标题:{'X-ZUMO-AUTH':usuarioToken},

因此,我的“仅限经过身份验证的用户”api再次适用于旧的MobileServices.Web.min.js!它还可以完美地与invokeApi方法配合使用:

var mobileClient = new WindowsAzure.MobileServiceClient(urlApp,keyApp);
mobileClient.currentUser = {
    userId: myCustomUserId,
    mobileServiceAuthenticationToken: myCustomToken
};
mobileClient
    .invokeApi('data', {
            method: 'POST',
            headers: {'X-ZUMO-AUTH': myCustomToken},
            body: JSON.stringify(theData)
        }) //end invokeApi
    .done(
        function (response) {
            alert(response);
        },
        function (error) {
            alert("error"));
        }
    ); //end done
生成的mobileClient包含以下数据:

mobileClient= {"applicationUrl":"https://xxx.azure-mobile.net/","applicationKey":"hGhzxxx","version":"ZUMO/1.2 (lang=Web; os=--; os_version=--; arch=--; version=1.2.21003.0)","currentUser":{"userId":"Custom:25F600BB-xxxx-xxxx-xxxx-8329BCCF31D2","mobileServiceAuthenticationToken":"ey__rest of jwt token"},"_serviceFilter":null,"_login":{"_loginState":{"inProcess":false,"cancelCallback":null},"ignoreFilters":true},"push":{"_apns":null,"_gcm":null,"_registrationManager":null}}
我将使用新的azure-mobile-apps-client.js重试
欢迎发表任何评论

确认,您是否在使用or?嗨,Aaron!我使用从Azure移动服务迁移的Azure移动应用程序。我没有时间再次尝试azure-mobile-apps-client.js。我的应用程序在。我可以选择cordova 3.7、4.1和5.2(android版)在appery中使用我的应用程序进行测试。非常感谢。