首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动应用程序可以使用TrueVault来存储JSON数据而不需要“中间人”服务器吗?

移动应用程序可以使用TrueVault来存储JSON数据而不需要“中间人”服务器吗?
EN

Stack Overflow用户
提问于 2015-02-09 01:50:12
回答 2查看 204关注 0票数 3

我一直在读https://docs.truevault.com/的文档,但我有点困惑。我在真正的金库网站上读到了这个:

如果您计划使用任何服务器端库的,请确保您使用的任何托管环境都符合HIPAA。

我认为这意味着TrueValut可以支持独立的(客户端)移动应用程序架构。其中,TrueVault API是唯一的服务器端交互。

然而,我对这些文件的理解是:

  1. 注册新用户需要一个API_KEY
  2. 任何API_KEY都提供对存储在TrueVault中的所有数据库和JSON文档的完全访问。

如果这两个假设都是正确的,那就意味着不可能直接从客户端应用程序注册新用户,迫使我使用一个昂贵且资源密集的HIPPA辅助web服务器。解决这一问题的唯一方法是将API_KEY硬编码到应用程序中,如果API_KEY可以访问我所有的TrueVault数据,这显然是不成功的。

对于我的用例,我对TrueVault有以下要求,以便能够考虑使用它(我可以想象,对于任何只想开发客户端医疗应用程序的人来说,这些需求都是一样的):

  1. 用户可以直接从我的客户端应用程序通过API注册,而不需要任何敏感密钥或根数据。
  2. 用户只可以使用他们提供的注册数据(用户名/电子邮件/密码)进行身份验证。我的应用程序是多平台的,我不能要求他们记住他们的API键来登录。
  3. 用户可以读取/写入/更新/删除链接到其配置文件的数据。它们无法使用凭据访问来自其他用户的任何数据。

TrueVault能够提供这三个基本需求吗?

如果对此的回答是“否”,我建议您在您的网站上更新此文本,因为没有任何可行的HIPPA辅助应用程序可以由TrueVault支持,而没有独立的服务器端接口。

EN

回答 2

Stack Overflow用户

发布于 2018-01-12 04:49:16

我目前正在使用AWS Lambda作为解决方案。Lambda是HIPPA兼容,更多的信息这里兰卜达也是一个低成本的解决方案。

下面是我使用Node.js在Lambda上运行的代码示例。

代码语言:javascript
复制
var request = require('request-promise');
var _ = require('lodash');

function encodeBase64(str) {
  return (new Buffer(str)).toString('base64');
}

var baseUrl = 'https://api.truevault.com/v1/';
var headers = {
  'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
};
var req = request.defaults({
  baseUrl: baseUrl,
  headers: _.extend({
    Authorization: 'Basic  ' + encodeBase64('your api key:')
  }, headers),
  transform: function(body) {
    return JSON.parse(body);
  }
});

exports.handler = function(event, context) {
  req.post('users', {
    form: {
      username: event.email,
      password: event.password,
      attributes: encodeBase64(JSON.stringify({
        name: event.name
      }))
    }
  }).then(function() {
    context.succeed({user: user});
  }).catch(context.fail);
}
票数 0
EN

Stack Overflow用户

发布于 2021-03-06 23:07:41

一般来说,如果在用户和TrueVault之间包含了零个服务器端处理,那么API键将是公开的。至少,我不知道有什么办法可以避免这种情况。

尽管如此,跳到“任何API_KEY都可以完全访问存储在TrueVault中的所有数据库和JSON文档”是不正确的。

TrueVault API密钥可以在很大程度上缩小范围。将密钥限制为只对{Vault#1}写入权限,第二个键仅对{Vault#2}进行读取权限,第三个键允许上传{Vault#1,}中的博客,有相当多的变体,第四个键用于删除{Vault#2}中的信息,并根据需要打开。您还可以将权限限制在API键(例如用户专用密钥) 这里有完整的文件。所拥有的内容上。

也有有限的作用域密钥(设置过期时间、使用计数、对任何先前权限范围的限制)。医生来了。

TrueVault还提供独立于API密钥的用户登录,如果用户使用登录凭据,这可能更适合。医生来了。

我自己还在计算TrueVault (至少在写文章的时候),所以一定要为您的需要进行更多的研究和复习。如果有限的作用域对我的需求“足够好”,我仍然感到困惑--我倾向于使用AWS (或类似的)作为一个符合HIPAA的中间层,如果只是为了更好地隐藏我的访问令牌生成,并隐藏我的数据将到TrueVault,并添加一些“服务器端-服务器端”数据验证的类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28401670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档