From 618d8e6468ba8c1cd948ef155e5c18c639d4d787 Mon Sep 17 00:00:00 2001 From: Dennis Lassiter Date: Wed, 24 Jan 2024 14:38:54 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B05775=20-=20Allow=20configuration=20of=20?= =?UTF-8?q?OAuth=20client=20on=20MS=20Azure=20with=20single=20tenant=20(#5?= =?UTF-8?q?53)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add Tenant-Support for Azure OAuthClient * Improvement: Make tenant required * Improvment: Removed check for null-value Since last commit, the "tenant"-field either set to a custom value or "common" by default. It is not allowed to be null * Add field description --------- Co-authored-by: Molkobain --- .../datamodel.itop-oauth-client.xml | 14 +++++++++++--- .../en.dict.itop-oauth-client.php | 2 ++ .../Client/OAuth/OAuthClientProviderAzure.php | 3 ++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml b/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml index c1efa7281..53893cba8 100644 --- a/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml +++ b/datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml @@ -339,6 +339,11 @@ no true + + tenant + common + false +
@@ -364,15 +369,18 @@ 50 - + 60 - + 70 - + 80 + + 90 + diff --git a/datamodels/2.x/itop-oauth-client/en.dict.itop-oauth-client.php b/datamodels/2.x/itop-oauth-client/en.dict.itop-oauth-client.php index b64e1c838..f11877a21 100644 --- a/datamodels/2.x/itop-oauth-client/en.dict.itop-oauth-client.php +++ b/datamodels/2.x/itop-oauth-client/en.dict.itop-oauth-client.php @@ -93,6 +93,8 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:OAuthClientAzure/Attribute:used_for_smtp+' => 'At least one OAuth client must have this flag to “Yes”, if you want iTop to use it for sending mails', 'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:yes' => 'Yes', 'Class:OAuthClientAzure/Attribute:used_for_smtp/Value:no' => 'No', + 'Class:OAuthClientAzure/Attribute:tenant' => 'Tenant', + 'Class:OAuthClientAzure/Attribute:tenant+' => 'Tenant ID of the configured application. For multi-tenant application, use common.', )); // diff --git a/sources/Core/Authentication/Client/OAuth/OAuthClientProviderAzure.php b/sources/Core/Authentication/Client/OAuth/OAuthClientProviderAzure.php index 667d5875a..e77141d72 100644 --- a/sources/Core/Authentication/Client/OAuth/OAuthClientProviderAzure.php +++ b/sources/Core/Authentication/Client/OAuth/OAuthClientProviderAzure.php @@ -20,8 +20,9 @@ class OAuthClientProviderAzure extends OAuthClientProviderAbstract 'clientId' => $oOAuthClient->Get('client_id'), 'clientSecret' => $oOAuthClient->Get('client_secret'), 'redirectUri' => $oOAuthClient->Get('redirect_url'), + 'tenant' => $oOAuthClient->Get('tenant'), ]; $this->oVendorProvider = new Azure($aOptions, $collaborators); } -} \ No newline at end of file +}