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

Muito obrigado e muito interessante, achei que o Devise só serviria para gerir os usuários sem nenhuma outra integração.