0

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

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

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

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

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

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

我相信它应该比描述的更容易。任何资源、书籍、视频也很受欢迎。

4

1 回答 1

1

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

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

干杯!

于 2015-06-06T06:38:53.500 回答