我使用GET()
方法获取aws-sdk,mongojs的密钥和身份验证密钥。 AngularJs向我的GET()
nodejs
发出server
请求,该请求将我的密钥作为json返回给客户端angurajs控制器。
service.js
myApp.factory('Api',['$resource', function($resource){
return {
MediaCreds:
$resource('/key/secret/creds/:id', {
id: '@id'
})
}]);
的NodeJS
router.get('/key/secret/creds', function(req, res){
var Creds = require('../../config/key.js')
//console.log(Creds);
res.json(Creds);
});
index.js
myApp.controller('userVarCtrlr', ['$scope', 'userVar', 'Api', function($scope, userVar, Api){
$scope.Creds = {};
Api.MediaCreds.get({},function(data){
$scope.Creds = data;
userVar.Creds = data;
console.log($scope.Creds );
});
//...
//Using Creds for atuhenticating to use aws or mongojs..
}]);
GET()方法是加密的,但客户端上的某个人是否可以使密钥可见?
这种方法安全还是有更好的方法?
答案 0 :(得分:4)
GET,POST,...不会产生很大的不同 - 所有这些调用都是公开的,它只是一种格式化数据,标题等的方法...... 如果您想保护您的get / post电话,您需要使用https来加密数据。但这只会保护信息,而不是呼叫本身。如果要保护查询,请使用oAuth之类的协议。 oAuth 1.0a没有https,oAuth 2.0有https。现在在客户端,由于javascript的性质,客户端本身可以看到信息。