“Use a tenant-specific endpoint or configure the application to be multi-tenant” lors de la connexion à mon site web Azure
Source : Stack Overflow [azure]
“Use a tenant-specific endpoint or configure the application to be multi-tenant” lors de la connexion à mon site web Azure
Source : Stack Overflow [azure]
Si vous êtes un administrateur Azure recevant ce message, cela peut être pour la raison exacte indiquée dans le message d’erreur - vous ne pouvez pas utiliser le point de terminaison d’API common pour les connexions MSFT vers des applications spécifiques à un locataire.
Dans mon cas, je configurais un enregistrement d’application avec un exemple de code - l’exemple de code devait être modifié avec un nouveau point de terminaison. C’est-à-dire que la ligne suivante :
let kAuthority = "https://login.microsoftonline.com/common"
devait être changée en :
let kAuthority = "https://login.microsoftonline.com/MY_TENANT_NAME"
…ou, si vous avez des espaces/caractères spéciaux dans le nom de votre locataire, ou si vous préférez un Key ID, utilisez le Tenant ID :
let kAuthority = "https://login.microsoftonline.com/MY_TENANT_GUID"
Le nom/ID du locataire pour votre organisation Azure peut être obtenu en tapant “Tenant Properties” dans la barre de recherche Azure.
Xamarin : La note ci-dessus a fonctionné pour MSAL iOS - pour Xamarin MSAL Android/iOS, il n’y avait pas de moyen direct de définir l’autorité dans l’appel principal. Elle doit être chaînée à l’appel de connexion interactif.
Par exemple, l’exemple de code ici :
authResult = await App.PCA.AcquireTokenInteractive(App.Scopes)
.WithParentActivityOrWindow(App.ParentWindow)
.ExecuteAsync();
Doit être changé en ceci :
authResult = await App.PCA.AcquireTokenInteractive(App.Scopes)
.WithAuthority("https://login.microsoftonline.com/YOUR_TENANT_NAME")
.WithParentActivityOrWindow(App.ParentWindow)
.ExecuteAsync();