SOA:对多个客户端进行Rails用户身份验证和api授权

时间:2015-05-26 23:37:43

标签: ruby-on-rails devise soa doorkeeper api-authorization

我们如何允许第二个客户端对用户进行身份验证并访问我们的api授权后端?请更正我理解的任何不正确的部分。

用户身份验证是您应用的注册/登录/注销部分 api的应用程序授权确认您的应用程序有权访问API 用户应该登录到应用程序,并且应该授权应用程序以便用户访问api。

将用户身份验证与应用程序授权分开是很重要的,因为不同的客户端(应用程序)可以通过我们的api访问我们的服务。因此,不同用户可具有不同的访问权限。

考虑一个简单的网络应用程序。在app(api客户端)中使用带有devise的Rails进行用户身份验证。然后,应用程序使用门卫访问rails-api以进行应用程序授权。

然后考虑添加一个简单的移动应用程序。移动应用程序如何访问相同的用户身份验证服务?我们如何允许移动应用访问我们的用户授权服务?

在创建用户之前,我们是否需要使用门卫的单独实例将用户身份验证服务分离到自己的api中以授权移动应用和Web应用,然后再次对用户进行身份验证后授权应用加登录用户访问后端API?

我确信它应该比描述容易。任何资源,书籍,视频也赞赏。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,那么您正在寻找的是面向服务的身份验证。基本上,身份验证提供程序可以使用Devise + Doorkeeper。然后消费者可以使用omniauth-oauth2。

关于oauth2的一个很好的教程:https://www.youtube.com/watch?v=zTsyeMV-N0c
Rails特定实现:https://www.youtube.com/watch?v=L1B_HpCW8bs

干杯!