【发布时间】:2016-05-03 19:24:45
【问题描述】:
我很难理解流行的 Doorkeeper 和 Devise gem 的职责和能力。我在授权和身份验证方面没有过多的经验,所以如果我误解了这些领域的某些方面,请原谅我。我确实很努力,如果我做某事,我想以正确的方式去做,所以这是我目前的情况:
我想构建一个仅 API 的 rails 应用程序,该应用程序负责在用户注册和使用服务时对其进行身份验证和授权。我精心挑选了两个相当流行的宝石,称为 Doorkeeper(授权)和 Devise(身份验证)。
我目前有这个结构并且它有效,但是,我在完全理解这些宝石的职责时遇到了问题。据我了解,Devise gem 用作身份验证层,这意味着可以识别和登录用户(其他功能将在下面讨论)。另一方面,Doorkeeper 将确保资源只能由有权访问的成员访问。我选择 Doorkeeper 进行 OAuth2 集成是因为我的服务器需要能够在未来将 API 访问权限授予潜在的第三方。
我的首要问题是我对这些宝石的假设是否正确。
这是当前的身份验证/授权流程:
问题:用户注册,如果我的 API 没有 Devise 提供的预配置视图,我如何利用 Devise 发送确认电子邮件? (旁注:可恢复、可记忆、可跟踪和可确认的特征在用户模型/迁移中。)
同样,我很想知道如何实现潜在的密码重置。请注意,只要它们适用于我的用例,对示例的引用就足够了。
我知道 Devise 提供了这些功能,但是如果不触及他们预先配置的(查看?)路线,就很难弄清楚如何做到这一点。
例如,当一个用户注册时,他点击了我自己的user_controller 的创建方法,它基本上只是创建一个新用户,它应该自动发送确认电子邮件(如果我们假设我的邮件配置是正确)?
我不完全确定避免使用预先配置的路线是否有意义,这就是为什么我想听听更有经验的人在过去可能使用过这些宝石,如果我的想法是正确的或者我是否是完全关闭这个。
【问题讨论】:
-
JWT 的魔法是一种选择吗?看这个例子:tangosource.com/blog/….
-
已经4年多了。你可能有所有的答案和更多。这正是我想要做的。你能发布你最终做了什么吗?如果我需要做一些不同的事情,因为我们在遥远的未来?
标签: ruby-on-rails authentication devise authorization doorkeeper