Интеграция Zapier с Doorkeeper - PullRequest
       45

Интеграция Zapier с Doorkeeper

0 голосов
/ 22 января 2020

Мне нужно создать интеграцию Zapier для моего приложения на Rails 6 через платформу интеграции. Я выбираю OAuthV2 в качестве аутентификации, поэтому пытаюсь его настроить.

Я использую gem Doorkeeper (я использую Devise для аутентификации своих пользователей).

Zapier предоставляет redirect_uri, который выглядит следующим образом: https://zapier.com/dashboard/auth/oauth/return/*AppID*CLIAPI/

Вот моя интеграция Doorkeeper в моем приложении Rails:

Doorkeeper.configure do
  # Change the ORM that doorkeeper will use (requires ORM extensions installed).
  # Check the list of supported ORMs here: https://github.com/doorkeeper-gem/doorkeeper#orms
  orm :active_record

  # This block will be called to check whether the resource owner is authenticated or not.
  resource_owner_authenticator do
    current_user || warden.authenticate!(scope: :user)
  end

  admin_authenticator do
    if current_user
      head :forbidden unless current_user.is_an_admin?
    else
      redirect_to sign_in_url
    end
  end

  ......

У меня есть эти маршруты, установленные Doorkeeper, которые действительно работают:

native_oauth_authorization GET    /oauth/authorize/native(.:format)                                                                                                doorkeeper/authorizations#show
                                                          oauth_authorization GET    /oauth/authorize(.:format)                                                                                                       doorkeeper/authorizations#new
                                                                              DELETE /oauth/authorize(.:format)                                                                                                       doorkeeper/authorizations#destroy
                                                                              POST   /oauth/authorize(.:format)                                                                                                       doorkeeper/authorizations#create
                                                                  oauth_token POST   /oauth/token(.:format)                                                                                                           doorkeeper/tokens#create
                                                                 oauth_revoke POST   /oauth/revoke(.:format)                                                                                                          doorkeeper/tokens#revoke
                                                             oauth_introspect POST   /oauth/introspect(.:format)                                                                                                      doorkeeper/tokens#introspect
                                                           oauth_applications GET    /oauth/applications(.:format)                                                                                                    doorkeeper/applications#index
                                                                              POST   /oauth/applications(.:format)                                                                                                    doorkeeper/applications#create
                                                        new_oauth_application GET    /oauth/applications/new(.:format)                                                                                                doorkeeper/applications#new
                                                       edit_oauth_application GET    /oauth/applications/:id/edit(.:format)                                                                                           doorkeeper/applications#edit
                                                            oauth_application GET    /oauth/applications/:id(.:format)                                                                                                doorkeeper/applications#show
                                                                              PATCH  /oauth/applications/:id(.:format)                                                                                                doorkeeper/applications#update
                                                                              PUT    /oauth/applications/:id(.:format)                                                                                                doorkeeper/applications#update
                                                                              DELETE /oauth/applications/:id(.:format)                                                                                                doorkeeper/applications#destroy
                                                oauth_authorized_applications GET    /oauth/authorized_applications(.:format)                                                                                         doorkeeper/authorized_applications#index
                                                 oauth_authorized_application DELETE /oauth/authorized_applications/:id(.:format)                                                                                     doorkeeper/authorized_applications#destroy
                                                             oauth_token_info GET    /oauth/token/info(.:format)                                                                                                      doorkeeper/token_info#show

В /oauth/applications я зарегистрировал новое приложение с именем Zapier. В поле redirect_uri я предоставил редирект, который дал мне Zapier (https://zapier.com/dashboard/auth/oauth/return/*AppID*CLIAPI/)

Затем, все еще в / oauth / Applications, я должен авторизовать его с помощью redirect_uri.

Но я получаю 404.

404 error message in Zapier after trying to authorize.

Я не знаю, чего мне не хватает. Я пытался связаться с командой Zapier, но у меня нет ответа. Любая помощь будет оценена :) 1029 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...