Skip to content

Commit 5ff1097

Browse files
committed
Add id_token_hint to the post logout redirect uri, to facilitate the direct redirect (without confirmation) with some IdP sofware (keycloak)
1 parent af61a91 commit 5ff1097

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

lib/omniauth/strategies/openid_connect.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,10 @@ def redirect_uri
423423
def encoded_post_logout_redirect_uri
424424
return unless options.post_logout_redirect_uri
425425

426+
id_token_hint = @access_token.id_token if @acess_token
426427
URI.encode_www_form(
427-
post_logout_redirect_uri: options.post_logout_redirect_uri
428+
post_logout_redirect_uri: options.post_logout_redirect_uri,
429+
id_token_hint: id_token_hint
428430
)
429431
end
430432

test/lib/omniauth/strategies/openid_connect_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_logout_phase_with_discovery
4545
end
4646

4747
def test_logout_phase_with_discovery_and_post_logout_redirect_uri
48-
expected_redirect = 'https://example.com/logout?post_logout_redirect_uri=https%3A%2F%2Fmysite.com'
48+
expected_redirect = 'https://example.com/logout?post_logout_redirect_uri=https%3A%2F%2Fmysite.com&id_token_hint'
4949
strategy.options.client_options.host = 'example.com'
5050
strategy.options.discovery = true
5151
strategy.options.post_logout_redirect_uri = 'https://mysite.com'

0 commit comments

Comments
 (0)