Мне нужно создать интеграцию 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.
Я не знаю, чего мне не хватает. Я пытался связаться с командой Zapier, но у меня нет ответа. Любая помощь будет оценена :) 1029 *