短篇故事
我很难将 Doorkeeper 添加到我正在工作的 JSONAPI 项目中。
由于我是新手,我认为最大的问题之一是对框架的理解。
基本上我需要任何进一步的请求来包含 AccessToken,以便我可以授权他们使用我的应用程序。前两件事当然是注册和登录。
经过一番阅读,我发现 Doorkeeper 假设(正确吗?)一个资源服务器和一个授权服务器。但我是他们俩。这让我发疯了。
我不完全知道我必须做什么以及什么是可选的,因为每个实现似乎都有自己的特性和差异。
问题从这里开始
所以按照本指南https://github.com/doorkeeper-gem/doorkeeper/wiki/Interacting-as-an-OAuth-client-with-Doorkeeper
我首先创建了一个应用程序(我相信我必须自己创建一个应用程序)并提供了一个Redirect URI尚未创建的应用程序(我添加了http://localhost:3000/panel,但没有任何响应)。我留下了scopes空白。
然后指南提到了一个client_id......我假设它是应用程序生成器提供的*应用程序 id*。
它还提到了我仍然不拥有的授权代码。显然我需要“授权”该应用程序。有一个“授权”按钮,但是当我单击它时会引发错误
失败“请配置位于 #{ FILE } 中的门卫资源_所有者_身份验证器块”
并且配置文件initializers/doorkeeper.rb都被注释掉了。但是官方指南(https://github.com/doorkeeper-gem/doorkeeper#configuration)没有提到任何配置。
Doorkeeper的基本配置是什么?关于我的项目的任何其他见解对我有帮助吗?
@编辑
好吧,我设法领先一步。删除错误所在的行并取消注释同一块的最后一行
User.find_by_id(session[:user_id]) || redirect_to(new_user_session_url)
错误发生变化。现在它说它不承认这个变量new_user_session_url。更改为此视频中建议的:
https://www.youtube.com/watch?v=zN9BylV81rw
routes.login_url并且只有login_url(说routes没有定义)也没有用。还是同样的错误。
我想我又回到了我的第一个问题。我不确定这是可选的,什么不是,以及默认创建的 gem 以及我必须自己做的事情。
此时我需要做什么?