Tag: azure mobile services

本地testingAzure Mobile Auth – 无效的jwt签名

我正在玩一个Azure移动应用程序后端(nodeJS),正如这里所讨论的。 我一直在使用默认的网页设置configuration开发我的移动应用程序,但是现在我想定制云端后端function,所以我已经使用Azure-Mobile-Apps SDK创build了一个本地后端。 我使用我的移动应用程序(使用Azure客户端SDK的授权方面)login,然后捕获AuthToken。 然后我构造了一个邮递员HTTP POST请求,这些标题: ZUMO-API-VERSION = 2.0.0 x-zumo-auth = eyJ0eX000000000000000000000000000000.eyJ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000-000000000_00000_00000 注意:我的tokenm实际上并不包含所有这些零,它看起来像一个有效的标记。 但是,POST请求的响应是: {“name”:“JsonWebTokenError”,“message”:“无效签名”} 我以为这可能是因为身份validation令牌是由不同的服务(默认后端,而不是我的项目在本地主机上运行)生成的。 于是我用localhost初始化了一个客户端,并试图用它进行身份validation,但是我得到了: JS:错误login! 错误:未使用所选身份validation提供程序login铬:[INFO:CONSOLE(12)]“不允许加载本地资源:file:///android_asset/webkit/android-weberror.png”,source:data: text / html,chromewebdata(12) 更新: 我从https://myApp.scm.azurewebsites.net/Env.cshtmlfind了我的WEBSITE_AUTH_SIGNING_KEY,并将其添加到我的azureMobile.js file ,该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' }, […]

将sql对象转换为node.js中有效的Jsonstring – Azure

我们使用node.js在Azure服务中创build一个Web服务,以从SQL数据库中检索数据。 我们使用ClearDB来做同样的事情。 在回顾数据时,它没有以合适的JSON格式提交。 我们如何将结果sql对象转换为JSONstring。 以下是我的代码。 app.get('/android', function(request, response) { pool.getConnection(function(err, connection) { if(err) { handleErrorResponse(err, response); return; } var sql = "select projectname from taggedemployee where empname='test@hotmail.com' and tagflag='accepted'" connection.query(sql, {}, function(err, results) { connection.release(); // always put connection back in pool after last query if(err) { handleErrorResponse(err, response); return; } var proj = JSON.stringify(results); […]

在node.js中运行多个MSSQL查询

我正在尝试运行多个SQL查询。 问题在于,variables由于fire.and忘记node.js使用继续超出范围。 我正在努力解决如何做类似于在C#中的await关键字。 这是我破碎的代码,是这样的; 这应该让我更清楚我想要达到的目标: function getTopicsForMessages(request, results) { //Get topics for this message var queryString = "SELECT ripple_messenger.TopicTypes.name, ripple_messenger.TopicTypes.imageUri"; queryString += " FROM ripple_messenger.MessageTopics JOIN ripple_messenger.TopicTypes"; queryString += " ON (ripple_messenger.MessageTopics.topicId = ripple_messenger.TopicTypes.id)"; queryString += " WHERE messageId = ?"; for (var i = 0; i < results.length; i++) { mssql.query(queryString, [results[i].id], { success: […]

移动服务+ DocumentDB附件

这是我的堆栈: iOS和Android应用程序 DocumentDB 由Javascript支持的移动服务 由Javascript支持的Azure站点 我正在做的是从我们的应用程序中抽象出DocumentDB的知识,因为我们正在构build白色标签解决scheme,而且我们可能需要即时扩展DocumentDB实例。 使用抽象types的服务,我们基本上可以根据从应用程序发送的某些数据来分割我们的docdb实例。 现在这将包括2个我想要创build移动服务的操作。 一个获取JSON数据,另一个获取与文档关联的附件。 这是我的麻烦所在。 我有一个只能在NodeJS中部署的传递服务。 我喜欢与移动服务相关的安全模型,所以我想调整我的代码。 问题在于将DocDB响应传递给移动服务响应。 首先是移动服务默认标题试图设置和失败,所以我暂时覆盖该function。 现在移动服务从不响应,直到发生超时。 这是一个代码片段: exports.get = function (req, res) { … // .then().fail() always pushed into the fail() block, but if I use the 2 function in .then() way it works. client.readMediaAsync(mediaUrl).then( // Success function (media) { // Set up caching and proxy […]

Azure应用程序服务的共享代码(移动应用程序)

所以,Parse关机让我急于为正在发布的应用程序find合适的备份计划。 我一直在考虑将Microsoft Azure作为替代品,并开始使用Azure移动服务进行testing。 实际上这样做很好,但是我一直注意到很多这样的消息: 注:这是一个Azure移动服务主题。 Microsoft Azure推荐Azure App Service移动应用程序用于所有新的移动后端部署。 要开始使用Azure App Service移动应用程序,请参阅应用程序服务移动应用程序文档中心。 好的,我一直在寻找应用服务。 我已经阅读了很多文档,有时可能会造成混淆,因为有些链接似乎没有指向正确的“版本”。 有时,“应用程序服务”链接最终将出现在“移动服务”文章中。 他们的名字很接近,可能会令人困惑和沮丧。 但承诺如下: 移动应用程序是App Service中的新应用程序types,它集成了移动服务等所有function。 移动应用程序正在公开预览。 无论如何,对于移动服务来说,有一点是很难find的,而且到目前为止,已经certificate不可能find应用服务,这与共享代码有关。 一个重要的原因是,在Azure门户(旧的或新的)中看起来没有真正的共享代码,更不用说他们的在线编辑器。 我无法看到在我的自定义应用程序服务API中应该如何或在哪种代码。 例如,下面是使用WebStorm通过Git检出项目结构的比较: 移动服务项目结构 应用服务项目结构 现在,当我查看App Services项目中的app.js文件时,我看到以下几行代码: // Import the files from the tables directory to configure the /tables endpoint mobile.tables.import('./tables'); // Import the files from the api directory to configure the /api endpoint […]

使用Azure移动服务计划任务访问Azure服务pipe理REST API

我目前正在使用Azure移动服务中的计划任务来完成以下项目(如果可能的话): 更新云服务部署configuration,使云服务进入维护模式。 等待预定的时间,以完成云服务中的任何待处理的工作。 执行云服务使用的SQL Azure数据库的备份。 等待另一个预定的时间长度以完成备份。 更新云服务部署configuration,使云服务退出维护模式。 我已经find了第3步,步骤2和4是相对微不足道的补充。 我的挂断是使用Azure服务pipe理REST Api 更新云服务部署configuration 。 (我在Node.js脚本中没有遇到过其他的方法) 。 使用提供的Node.js模块请求 (例如: http : //msdn.microsoft.com/en-us/library/windowsazure/jj631641.aspx )对端点的调用非常简单,但请求必须包含pipe理证书每http://msdn.microsoft.com/en-us/library/windowsazure/ee460782.aspx 所以我的问题是: 如何将我的pipe理证书附加到请求? 请记住,这是在一个计划任务(这是一个Node.js脚本)内完成的。

如何从Node中将表值参数插入到Sql Azure中?

我正在研究一个批量插入数据的应用程序,以减less我想要使用Table Valued参数的查询数量。 例: var sql = require('node-sqlserver'); var connectionString = 'Driver={SQL Server Native Client 11.0};server=tcp:serverName.database.windows.net,1433;UID=user@serverName;PWD=password;Database={databaseName};Encrypt=yes;Connection Timeout=30;'; sql.open(connectionString, function(err, conn) { if(err) { return console.error('could not connect to sql', err); } var tableValuedObject = ???; var query = 'usp_InsertSomeTable ?'; conn.query(query, tableValuedObject, function(err, result) { if(err) { return console.error('error running insert', err); } }); }); 其中usp_InsertSomeTable被定义为 […]

更改移动服务的运行版本的NodeJS

我需要更新我的mobileservice中的NodeJS引擎版本,以支持默认库中的一些新function。 我试图更新packages.json(服务的GIT签出的根目录)中的要求,没有任何更改。 这就是现在的样子(我删除了一些额外的细节): { "main": "server.js", "engines": { "node": ">= 0.9.5" }, "dependencies": {}, "devDependencies": {}, "scripts": {} } 我需要版本0.9.3或更新。 这个过程是否考虑到这个文件? 如何更新我的移动服务中的节点版本?

对MS Graph API的请求使我“授权请求被拒绝 – 没有足够的权限来完成操作”

我有一个关于“授权请求被拒绝 – 没有足够的权限来完成操作”的消息,我不断从我的请求回到WindowsgraphicsAPI。 具体来说,我正在使用Azure云。 我有一个调用API的iOS移动应用程序。 我在我的Portal中打开了“Active Directory的身份validation”。 然后,在客户端(iOS)上: [self.todoService.client loginWithProvider:@"windowsazureactivedirectory" controller:self animated:YES completion:^(MSUser *user, NSError *error) { if(!error && user) { [self refresh]; } }]; //loginWithProvider 所以返回一个有效的MSUser对象。 我看到networkinglogin控制器出现,我用我的un / pwlogin,然后让我访问我的Easy Table的数据…等等。 现在,我想调用我在Azure中创build的一个名为getUserData的Easy API。 因此,我只需像这样插入invokeAPI代码(iOS): [self.todoService.client loginWithProvider:@"windowsazureactivedirectory" controller:self animated:YES completion:^(MSUser *user, NSError *error) { if(!error && user) { //NSMutableDictionary * dict = [NSMutableDictionary dictionary]; //[dict setObject:@YES […]

如何在Azure Easy API中启用Swagger UI

我正在使用Azure应用程序服务,并已经为我的手机设置了简易表的Easy API用于API后端。 我想知道如何设置Azure应用服务的Swagger UI。 当我尝试导航到API(例如https://xxxxxx.azurewebsites.net/swagger/ui )时,声明“要访问交易者UI,您必须通过添加swagger来支持swagger支持:true对您的configuration和安装swagger-ui npm模块“ 当你没有API的源代码(它是使用Easy API自动创build的)时,你如何精确添加swagger-ui npm?