disconnect hook: get user meta from information provided by filter parameters (#82)

isekai
Raphaël Droz 7 years ago committed by Jonathan Daggerhart
parent d0b79313c2
commit 58c8b7ac9a

@ -48,7 +48,7 @@ class OpenID_Connect_Generic_Client_Wrapper {
// integrated logout
if ( $settings->endpoint_end_session ) {
add_filter( 'allowed_redirect_hosts', array( $client_wrapper, 'update_allowed_redirect_hosts' ), 99, 1 );
add_filter( 'logout_redirect', array( $client_wrapper, 'get_end_session_logout_redirect_url' ), 99, 1 );
add_filter( 'logout_redirect', array( $client_wrapper, 'get_end_session_logout_redirect_url' ), 99, 3 );
}
// alter the requests according to settings
@ -211,7 +211,7 @@ class OpenID_Connect_Generic_Client_Wrapper {
*
* @return string
*/
function get_end_session_logout_redirect_url( $redirect_url ) {
function get_end_session_logout_redirect_url( $redirect_url, $requested_redirect_to, $user ) {
$url = $this->settings->endpoint_end_session;
$query = parse_url( $url, PHP_URL_QUERY );
$url .= $query ? '&' : '?';
@ -226,8 +226,7 @@ class OpenID_Connect_Generic_Client_Wrapper {
$redirect_url = home_url( $redirect_url );
}
$user_id = wp_get_current_user()->ID;
$token_response = get_user_meta( $user_id, 'openid-connect-generic-last-token-response', true );
$token_response = $user->get('openid-connect-generic-last-token-response');
$id_token_hint = $token_response['id_token'];
$url .= 'id_token_hint='.$id_token_hint.'&post_logout_redirect_uri=' . urlencode( $redirect_url );
return $url;

Loading…
Cancel
Save