Cara, tem algumas gems que podem ser usadas. Exemplo:
# frozen_string_literal: true
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '3.2.2'
gem 'omniauth-keycloak'
gem 'omniauth-rails_csrf_protection'
Keycloak com padrão openid usando junto com o Devise é xuxuzinho