我最近一直在寻找使用apigee的baas作为移动应用程序的替代解决方案。现在,Parse显然允许您创建ACL等,以定义谁可以读/写特定对象。我知道baas有角色的概念,但是我正在努力解决一些问题。我理解使用访问令牌通过边缘执行此操作的概念。我只是不确定我是如何在每个对象和任何关系上设置角色/ ACL的。
1)我知道我可以使用Edge来创建api端点,然后使用这些代理点击我的baas,我可以通过访问令牌来保护这些代理,但是如何保护某人只是找到我的baas url并调用/ users例如,公开用户集合和每个人的电子邮件?
2)我在文档中注意到,当您设置权限时,您可以使用特殊的$ {user}占位符来表示仅允许访问当前用户。但是,当我尝试通过Web界面在/ users / $ {user}上添加PUT权限时,它会抱怨无效字符。你能通过api电话设置吗?您将如何为特定用户保护资源?因此,如果每个用户都有一个“待办事项列表”,我怎样才能确保用户只能访问自己的项目?我需要建立关系吗?你会怎么做?
**编辑** 我已经设法通过在我的BAAS端点边缘创建代理来完成大部分工作。创建用户后,代理会在响应期间使用新返回的uuid和组织access_token进行服务标注,以更新权限,以便新创建的用户可以自行编辑。然而,这似乎对我来说似乎是一个相当复杂的过程,我觉得它应该更容易。我主要担心的是,如果用户在移动设备上执行这些操作,那么根据文档,我应该只使用用户访问令牌。但是,用户访问令牌不允许我更新用户的权限!我觉得我陷入了困境22。为了使我的应用程序更安全,我需要使用会使整体安全性降低的凭据!
由于
答案 0 :(得分:0)
要考虑的一件事是使用Apigee a127产品。您可以将需要更多大量凭据的所有逻辑放入运行在任何地方的Node.js应用程序中 - 甚至可以在Apigee中托管。这样您就可以在服务器上而不是在设备上进行任何内务管理。您可以在http://apigee.com/docs/api-services/content/apigee-127
了解有关Apigee a127的更多信息