From 2406c14df64d01e51e73ca856d7a742c95102ed9 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Mon, 26 Feb 2018 12:27:28 +0000 Subject: [PATCH 1/2] Allow for use of env variables to set redirect URIs --- AuthorizationHelper.php | 4 ++-- aad-sso-wordpress.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AuthorizationHelper.php b/AuthorizationHelper.php index 996dab1..e09a159 100644 --- a/AuthorizationHelper.php +++ b/AuthorizationHelper.php @@ -26,7 +26,7 @@ public static function get_authorization_url( $settings, $antiforgery_id ) { 'domain_hint' => $settings->org_domain_hint, 'client_id' => $settings->client_id, 'resource' => $settings->graph_endpoint, - 'redirect_uri' => $settings->redirect_uri, + 'redirect_uri' => $_SERVER['ADD_REDIRECT_URI'] ?: $settings->redirect_uri, 'state' => $antiforgery_id, 'nonce' => $antiforgery_id, ) ); @@ -49,7 +49,7 @@ public static function get_access_token( $code, $settings ) { array( 'grant_type' => 'authorization_code', 'code' => $code, - 'redirect_uri' => $settings->redirect_uri, + 'redirect_uri' => $_SERVER['ADD_REDIRECT_URI'] ?: $settings->redirect_uri, 'resource' => $settings->graph_endpoint, 'client_id' => $settings->client_id, 'client_secret' => $settings->client_secret diff --git a/aad-sso-wordpress.php b/aad-sso-wordpress.php index e54fd54..aa119ed 100644 --- a/aad-sso-wordpress.php +++ b/aad-sso-wordpress.php @@ -535,7 +535,7 @@ function get_login_url() { function get_logout_url() { // logout_redirect_uri is not a required setting, use default value if none is set - $logout_redirect_uri = $this->settings->logout_redirect_uri; + $logout_redirect_uri = $_SERVER['LOGOUT_REDIRECT_URI'] ? $this->settings->logout_redirect_uri; if ( empty( $logout_redirect_uri ) ) { $logout_redirect_uri = AADSSO_Settings::get_defaults('logout_redirect_uri'); } From 85daaac8ce0d7ee95850217c94c8c67a2a90b978 Mon Sep 17 00:00:00 2001 From: Peter Gordon Date: Tue, 24 Jul 2018 14:08:11 +0100 Subject: [PATCH 2/2] Added WordPress filters to allow changing login/logout url --- AuthorizationHelper.php | 4 ++-- README.md | 2 +- aad-sso-wordpress.php | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/AuthorizationHelper.php b/AuthorizationHelper.php index e09a159..c0dd9d7 100644 --- a/AuthorizationHelper.php +++ b/AuthorizationHelper.php @@ -26,7 +26,7 @@ public static function get_authorization_url( $settings, $antiforgery_id ) { 'domain_hint' => $settings->org_domain_hint, 'client_id' => $settings->client_id, 'resource' => $settings->graph_endpoint, - 'redirect_uri' => $_SERVER['ADD_REDIRECT_URI'] ?: $settings->redirect_uri, + 'redirect_uri' => apply_filters('aadsso_login_redirect_uri', $settings->redirect_uri), 'state' => $antiforgery_id, 'nonce' => $antiforgery_id, ) ); @@ -49,7 +49,7 @@ public static function get_access_token( $code, $settings ) { array( 'grant_type' => 'authorization_code', 'code' => $code, - 'redirect_uri' => $_SERVER['ADD_REDIRECT_URI'] ?: $settings->redirect_uri, + 'redirect_uri' => apply_filters('aadsso_login_redirect_uri', $settings->redirect_uri), 'resource' => $settings->graph_endpoint, 'client_id' => $settings->client_id, 'client_secret' => $settings->client_secret diff --git a/README.md b/README.md index d9f5fb5..384b503 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![Stories in Ready](https://badge.waffle.io/psignoret/aad-sso-wordpress.png?label=ready&title=Ready)](https://waffle.io/psignoret/aad-sso-wordpress) -# Sign Sign-on with Azure Active Directory (for WordPress) +# Single Sign-on with Azure Active Directory (for WordPress) A WordPress plugin that allows organizations to use their Azure Active Directory user accounts to sign in to WordPress. Organizations with Office 365 already have diff --git a/aad-sso-wordpress.php b/aad-sso-wordpress.php index bcb72a2..3b0bd20 100644 --- a/aad-sso-wordpress.php +++ b/aad-sso-wordpress.php @@ -549,9 +549,8 @@ function get_login_url() { * Generates the URL for logging out of Azure AD. (Does not log out of WordPress.) */ function get_logout_url() { - // logout_redirect_uri is not a required setting, use default value if none is set - $logout_redirect_uri = $_SERVER['LOGOUT_REDIRECT_URI'] ? $this->settings->logout_redirect_uri; + $logout_redirect_uri = apply_filters('aadsso_logout_redirect_uri', $this->settings->logout_redirect_uri); if ( empty( $logout_redirect_uri ) ) { $logout_redirect_uri = AADSSO_Settings::get_defaults('logout_redirect_uri'); }