我正在构建一个web应用程序,它使用CouchDB作为后端数据库。一旦用户创建了一个帐户(即他们在_user数据库中创建了一个文档),我希望能够改变他们的角色以反映已完成的任务。例如,当用户创建一个帐户时,会发送一封电子邮件,以便他们能够验证他们的电子邮件地址。验证后,我想向用户添加一个verified角色,这样他们才能(通过应用程序)写入他们的数据库。
我遇到的问题是,只有管理员才能更改用户角色,因此据我所知,在某一时刻实现自动化需要自动化过程使用管理凭据。我正在考虑在this线程中模拟解决方案,并创建一个接收电子邮件验证并对CouchDB数据库具有管理凭据的验证服务。接下来的问题是如何授予此服务管理员凭据。
This线程似乎表明管理凭据可以存储在验证服务可访问的文件中(但不能存储到任何其他文件中)。这感觉..。很危险。但这可能是我的偏执狂和缺乏对安全的深刻理解的结合。
因此,有几个问题:
如果有帮助,web应用程序、couchDB和验证服务都会在单独的Docker容器中运行,这些容器与docker-compose一起联网,并且只能通过NGINX反向代理在单独的容器中公开。
此外,由于各种原因,不涉及用户角色更改的解决方案在我的情况下是行不通的。我必须能够跟踪用户角色中的verified状态。
发布于 2018-09-24 14:20:28
因此,在我看来,您需要一个具有以下功能的“注册服务”:
这两个函数都使用"admin“帐户来执行操作,这是完全安全的。
https://stackoverflow.com/questions/52469994
复制相似问题