你可以为Azure移动应用程序实现应用程序密钥。
像Azure移动服务一样,您可以为Azure移动应用设置应用程序密钥。
1. 在Azure移动应用程序上打开“应用程序设置”。
2. 滚动到“应用程序设置”,添加以下两行。
|zumo-api-key|输入您的API密钥|
|MS_SkipVersionCheck|True|
3. 然后单击“保存”。
4. 打开“应用程序服务编辑器”。
5. 在主文件夹“wwwroot”上创建一个文件。
6. 将您的文件命名为“validateApiKey.js”。
module.exports = function (req, res, next) {
var apiKey = process.env['zumo-api-key'];
if (apiKey && req.get('zumo-api-key') != apiKey)
return res.status(401).send('This operation requires a valid api key');
else
return next();
}
将文本翻译为中文:
6. 将您的API脚本更新为以下内容:
[sampleAPI.js]
var validateApiKey = require('../validateApiKey');
module.exports = {
"get": [validateApiKey, function(request, response, next)
{
response.send(
{
message: "post"
});
}],
"post": [validateApiKey, function(request, response, next)
{
response.send(
{
message: "post"
});
}]
};
[sampleAPI.json]
{
"get": {
"access": "anonymous"
},
"post": {
"access": "anonymous"
},
"put": {
"access": "anonymous"
},
"patch": {
"access": "anonymous"
},
"delete": {
"access": "anonymous"
}
}
请不要忘记将权限更改为“匿名”。
6. 将您的表格脚本更新为:
[sampleTable.js]
var azureMobileApps = require('azure-mobile-apps'),
validateApiKey = require('../validateApiKey');
var table = azureMobileApps.table();
table.access = 'anonymous';
table.use(validateApiKey, table.execute);
module.exports = table;
[sampleTable.json]
{
"softDelete" : true,
"autoIncrement": false,
"insert": {
"access": "anonymous"
},
"update": {
"access": "anonymous"
},
"delete": {
"access": "anonymous"
},
"read": {
"access": "anonymous"
},
"undelete": {
"access": "anonymous"
}
}
不要忘记将权限更改为“匿名”
7. 完成!
在调用Azure移动/ Web应用程序时,请不要忘记添加标题。
此外,您可以在Github上查看此存储库的更多内容。
https://github.com/thisisfatih/applicationKeyAzure/