У меня есть 2 приложения rails.
App1
необходимо отправить данные, которые будут сохранены App2
.
Я хочу знать, как лучше создать безопасную конечную точку APIчтобы сделать это.
Как я могу аутентифицировать запросы App1
отправляет на App2
Я работал с другими API, которые требуют проверки запросов, такими как Facebook.
С помощью Facebook они отправляют в заголовке токен, который я могу вычислить и сравнить для проверки запроса.
def verify_webhook(request)
sha1 = request.headers["X-Hub-Signature"].gsub("sha1=", "")
digest = OpenSSL::Digest.new('sha1')
request.body.rewind
data = request.body.read
# Calculate a sha1 with the app key and payload from the post request
calculated_hmac = OpenSSL::HMAC.hexdigest(digest, ENV['FB_APP_SECRET'], data)
# Computate hmac and see if verified is true
verified = ActiveSupport::SecurityUtils.secure_compare(calculated_hmac, sha1)
verified
end
Я предполагаю, что решение аналогично, но я не могу найти документацию для того, чем я являюсьпытаясь делать онлайн, я не слишком знаком с терминами, поэтому я могу искать неправильные вещи.
Может ли кто-нибудь указать мне правильное направление?