Приложение My Rails должно взаимодействовать с Sharepoint для извлечения и хранения документов. Для этого я хочу использовать Apache Office365 / Sharepoint REST. И, конечно, эти запросы должны быть аутентифицированы с помощью токена доступа. Чтобы получить этот токен доступа, мне нужно выполнить аутентификацию с помощью auth2, поэтому для этого я использую omniauth.
На стороне Sharepoint все создано, например client_id, client_secret и redirect_url. Я установил жемчуг omniauth-microsoft-office365 и добавил это к инициализатору:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :microsoft_office365, ENV['OFFICE365_CLIENT_ID'], ENV['OFFICE365_CLIENT_SECRET']
end
Но теперь я немного потерял, как продолжить, потому что обычно это User, который должен быть аутентифицирован, но в моем случае у меня есть объект Ruby, который отвечает за извлечение и хранение документа, что-то вроде этого:
class SharepointCommunicator
def retrieve_document(name)
access_token = get_access_token
# code for REST call to get a document
end
def store_document(document_params)
access_token = get_access_token
# code for REST cal to store a document
end
private def get_access_token
end
end
Как я должен реализовать oauth вызовы en redirect в этом случае?