如何在安卓客户端上使用门卫?

Aks*_*kar 5 android ruby-on-rails doorkeeper

我正在构建一个应用程序,它由一个移动客户端(Android 本机应用程序)组成,它将连接到我的 Rails 应用程序。我需要一种方法让用户使用 android 应用程序登录和注册我的 rails 应用程序。所以我在我的 rails 应用程序上安装了 doorkeeper 并设计了 gems,并按照这里的说明来看看事情是如何工作的。正如您在授权代码流程页面中看到的那样,有多个步骤,例如注册客户端、请求授权、请求访问令牌。
我的问题是如何从我的 android 应用程序执行所有这些步骤。任何帮助深表感谢。谢谢

小智 4

对于注册(注册),您可以在用户控制器中创建一个方法来执行此操作。或者,您可以自定义 Devise 的注册页面,使其在移动视图中看起来更好,并在应用程序的 Web 视图中进行注册。

至于 Doorkeeper,要么遵循您链接的通常流程,要么采用更简单的方法。我所做的是

  1. 激活刷新令牌- 这将允许用户获取其访问令牌和刷新令牌,该令牌用于在访问令牌过期后重新生成访问令牌。这样,您就不会在应用程序上保留用户的登录注册,而只保留令牌。

  2. 通过使用skip_authorization为config/initializers/doorkeeper.rb 中的某些应用程序添加白色标签,以允许某些特定应用程序的自动授权。您可以允许对所有应用程序进行自动授权,但我建议您将其中一些应用程序列入白名单:

    skip_authorization do |client|
      whitelisted_apps = ['app1_id', 'app2_id']
      whitelisted_apps.include? client.application.uid
    end
    
    Run Code Online (Sandbox Code Playgroud)

我希望这有帮助。