ban*_*ing 3 openid authorization ruby-on-rails oauth-2.0 omniauth
所以我正在开发一个Rails应用程序 - 主要提供API,我想锁定behjind一个很好的授权系统.我创建了Rails应用程序来呈现HTML,为此我使用了Devise和CanCan.这次我想为我的客户提供JSON服务.我基本上有以下要求:
现在这是我的第一个应用程序,我写的提供API所以我开始研究,到目前为止我发现了人们使用的以下解决方案:
所以基本上我的一天研究基本上只是让我更加困惑.当我使用这些和我的要求时,我会使用这些!我正在努力理解字母汤,有人可以帮助我理解这一点
Devise是所有类型的Rails应用程序的身份验证引擎.Devise允许对用户名/密码,令牌认证(适用于API)和oauth提供商(如Google,Facebook等)进行身份验证.这显然允许您拒绝访问API,除非用户通过您提供的某项服务登录.
CanCan是一个授权系统,可以在Devise之上工作,允许用户根据系统中的角色访问系统的某些部分.CanCan有一个非常灵活的DSL提供can和cannot允许或拒绝访问视图或控制器操作的方法.
如果你想在你的API上推出自己的oauth解决方案,门卫是一个oauth提供商的宝石.如果您希望您的应用程序以与Google或FAcebook相同的方式运行,为用户提供oauth端点进行身份验证,那就是这种情况.从你上面所说的,我不认为是这种情况.
鉴于您上面提供的要求,我相信Devise和CanCan将是我选择的路线.这将允许用户首先通过用户名/密码或某个oauth提供程序进行身份验证,然后在此之后允许令牌身份验证来访问您的API.然后,您可以通过CanCan锁定对特定操作的访问.
| 归档时间: |
|
| 查看次数: |
743 次 |
| 最近记录: |