Как организовать авторизацию по сертификатам выданным УЦ на RoR? Не могу понять как происходит авторизация по сертификату, есть приложение в котором нужно аутентифицировать компанию, есть сертификат юридического лица в формате .p12 не пойму логику аутентификации, получается указывается сертификат, из него вытаскиваешь данные, сверяешь с корневым УЦ на валидность сертификата? Как все это строится что использовать? Если быть точнее какими инструментами все это можно реализовать и можно ли вообще реализовать? Это делает nginx openssl или RoR?

21 Авг 2019 в 07:13
239 +1
1
Ответы
1

Для организации авторизации по сертификатам на RoR можно использовать gem 'devise' и gem 'devise_pam_authenticatable'.

Установите гемы в вашем Gemfile:

gem 'devise'
gem 'devise_pam_authenticatable'

Выполните установку и генерацию Devise:

bundle install
rails generate devise:install

Создайте модель для юридического лица и миграцию для неё:

rails g model Company name:string
bundle exec rake db:migrate

Внесите изменения в модель User:

class Company < ActiveRecord::Base
devise :pam_authenticatable
end

Настройте конфигурацию Devise в файле config/initializers/devise.rb:

Devise.setup do |config|
config.pam_service = 'http://your-pam-service-url.com'
end

Создайте контроллер для аутентификации с использованием сертификатов:

class Companies::SessionsController < Devise::SessionsController
def password_authentication
return unless current_company && current_company.valid_password?(params[:password])
# Ваша логика проверки сертификата и аутентификации по нему
end
end

Настройте маршруты и views для аутентификации компаний.

Эти шаги помогут вам реализовать аутентификацию по сертификатам на RoR с использованием Devise и Devise PAM Authenticatable. При аутентификации по сертификату необходимо проверить валидность сертификата с помощью OpenSSL, можно использовать Ruby OpenSSL API для этого.

Надеюсь, это поможет вам построить авторизацию по сертификатам на RoR.

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир