Omniauth,设计,开放ID,康康舞 - 请告诉我什么,什么时候使用该解决方案为Rails应用程

2019-09-21 16:57发布

因此,进出口发展Rails的APP-主要服务API,我希望锁定behjind一个不错的授权系统。 香港专业教育学院创建Rails应用,其呈现HTML并为我所用设计和惨惨。 这一次,我想为JSON给我的客户。 我基本上有以下要求:

  1. 需要授权系统那健壮
  2. 用户应该能够与现有的应用程序,如Facebook的登录,微博,在和谷歌链接
  3. 应该有完整的堆栈授权使用

现在,这是我的第一个应用程序,我写的是提供了API,所以我开始研究,到目前为止,香港专业教育学院发现,人们使用了以下解决方案:

  1. 我见过的人使用设计与惨惨
  2. 我见过人们谈论使用的oauth2 http://railscasts.com/episodes/353-oauth-with-doorkeeper?autoplay=true
  3. 我听说......“守门人使用”
  4. 我听说过用......“使用omniauth”

所以基本上我1天的研究基本上只是搞糊涂了更多。 当迪我使用这些和我的要求,这comnbination我会用! 林努力使的字母汤感,有人可以帮助我了解这个

Answer 1:

制定适用于所有类型的Rails应用的认证引擎。 设计允许对用户名/密码,令牌认证(良好的API的)和一个OAuth提供商(如谷歌,Facebook等)的认证。 这显然允许,除非用户通过您所提供的服务之一签订了你拒绝访问API。

康康舞是一种授权系统,该系统将在设计的顶级合作,允许用户访问基于系统中的角色系统的某些部分。 惨惨有一个非常漂亮的DSL prviding cancannot为允许或拒绝访问观点或控制动作的方法。

守门人是,如果你想滚你的API之上自己的OAuth解决方案的供应商的OAuth宝石。 这将是,如果你想你的应用程序相同的方式为谷歌或Facebook采取行动在为用户进行身份验证的OAuth的端点。 从你上述的东西,我不认为是这样。

鉴于你上面提供的要求,我认为,制定和惨惨将是我会选择的路线。 这将允许用户在首先通过用户名/密码,或一些OAuth的提供商之后进行身份验证,然后让令牌认证访问您的API。 然后,您可以锁定访问通过惨惨的具体行动。



文章来源: Omniauth, Devise, Open ID, CanCan - Whats what and When do I use which solution for a Rails API app