diff --git a/lib/omniauth/strategies/openid_connect.rb b/lib/omniauth/strategies/openid_connect.rb index 9b414b74..e2d642a5 100644 --- a/lib/omniauth/strategies/openid_connect.rb +++ b/lib/omniauth/strategies/openid_connect.rb @@ -271,6 +271,12 @@ def access_token client_auth_method: options.client_auth_method, } + if configured_response_type == 'code' + token_request_params[:grant_type] = :authorization_code + token_request_params[:code] = authorization_code + token_request_params[:redirect_uri] = redirect_uri + end + token_request_params[:code_verifier] = params['code_verifier'] || session.delete('omniauth.pkce.verifier') if options.pkce @access_token = client.access_token!(token_request_params)