Настройка ActiveResource для поддержки OAuth2
Мне нужно, чтобы я мог настроить ActiveResource для соединения с OAuth2 или базовой аутентификацией для каждого отдельного соединения. Я нашел несколько способов настроить ActiveResource с OAuth2, но они не кажутся такими элегантными и не поддаются настройке динамического типа. Любая помощь там?
1 ответ
Решение
Я понял, как это сделать, если мои классы ActiveResource наследуются от промежуточного класса:
class Resource < ActiveResource::Base
end
class MyClass < Resource
end
Это позволяет динамически устанавливать аутентификацию (а также сайт, формат и т. Д.) Для всех классов, которые наследуются от промежуточного класса Resource:
если у пользователя настроен OAuth2:
Resource.headers['authorization'] = 'Bearer ' + my_oauth2_token
или если пользователь просто использует базовую аутентификацию:
Resource.user = my_user_name
Resource.password = my_password
Надеюсь, это поможет кому-то!