Ruby on rails 4 如何使用rails auth验证X509证书的主题?
我正在尝试保护Docusign Connect API的一个端点。我已在docusign connect API配置上检查了带有X509证书的签名消息 客户端证书公用名也将添加到Docusign帐户 我正在尝试验证使用rails auth gem发送的主题 以下是ACL文件(ACL.yml)的内容 我在config.ru文件中添加了以下内容Ruby on rails 4 如何使用rails auth验证X509证书的主题?,ruby-on-rails-4,docusignapi,ruby-2.2,Ruby On Rails 4,Docusignapi,Ruby 2.2,我正在尝试保护Docusign Connect API的一个端点。我已在docusign connect API配置上检查了带有X509证书的签名消息 客户端证书公用名也将添加到Docusign帐户 我正在尝试验证使用rails auth gem发送的主题 以下是ACL文件(ACL.yml)的内容 我在config.ru文件中添加了以下内容 app = Rails.application acl = Rails::Auth::ACL.from_yaml(
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(未经授权的请求)
添加到Docusign帐户中的公共名称与我在YML文件中提到的名称相同。有人能帮我找到这个问题吗
我将Ruby 2.2.2与rails 4.2.2、rails auth 2.0.3一起使用,保护连接端点并确保所有调用都来自DocuSign的最佳方法是使用HMAC安全性 使用HMAC安全性时,从DocuSign Connect帐户发送的每条消息都包含额外的头值,每个头值对应您定义的HMAC密钥(最多100个),其中包含使用HMACSHA256对其中一个HMAC密钥进行哈希处理的消息体。例如,如果定义了两个键,则将添加两个标题X-DocuSign-Signature-1和X-DocuSign-Signature-2。它们将包含分别用第一个和第二个密钥散列的消息体
保护连接端点并确保所有呼叫都来自DocuSign的最佳方法是使用HMAC安全性 使用HMAC安全性时,从DocuSign Connect帐户发送的每条消息都包含额外的头值,每个头值对应您定义的HMAC密钥(最多100个),其中包含使用HMACSHA256对其中一个HMAC密钥进行哈希处理的消息体。例如,如果定义了两个键,则将添加两个标题X-DocuSign-Signature-1和X-DocuSign-Signature-2。它们将包含分别用第一个和第二个密钥散列的消息体
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