Я пытаюсь защитить одну конечную точку, которая у меня есть для Docusign Connect API. Я проверил Подписать сообщение сертификатом X509 в конфигурации API подключения docusign.
Общее имя сертификата клиента также добавляется в учетную запись Docusign.
Я пытаюсь проверить тему, отправленную с помощью драгоценного камня rails-auth.
Ниже приведено содержимое файла ACL (acl.yml).
---
- resources:
- method: POST
path: /
allow_x509_subject:
cn: "the common name"
Я добавил следующее в файл config.ru
app = Rails.application
acl = Rails::Auth::ACL.from_yaml(
File.read("path of the acl.yml"),
matchers: { allow_x509_subject: Rails::Auth::X509::Matcher }
)
acl_auth = Rails::Auth::ACL::Middleware.new(app, acl: acl)
x509_auth = Rails::Auth::X509::Middleware.new(
acl_auth,
ca_file: "path_to_the_pem_file.crt",
cert_filters: { 'X-SSL-Client-Cert' => :pem })
run x509_auth
Я получаю следующее исключение.
*** Исключение Rails::Auth::NotAuthorizedError в объекте приложения Rack (несанкционированный запрос)
Общее имя, которое добавляется в учетную запись Docusign, совпадает с тем, которое я упомянул в файле YML. Может ли кто-нибудь помочь мне найти проблему здесь?
Я использую Ruby 2.2.2 с rails 4.2.2, rails-auth 2.0.3.