Während diese Funktion in Azure AD heute nicht verfügbar ist, können Sie dieses Szenario implementieren, wenn Sie Auth0 in den Mix. Auth0 unterstützt multi-tenant Azure AD applications as a connection für Ihre Anwendungen und using the rules engine Sie können Regeln schreiben, um den Zugriff auf eine bestimmte Anwendung basierend auf dem Azure AD-Mandanten zu beschränken.
Hier ist ein Beispiel dafür, wie eine solche Regel (die in der Auth0 Authentifizierungs-Pipeline verläuft, nachdem der Benutzer in Azure AD und vor dem Benutzer authentifiziert Ihre Anwendung zugreifen können):
function (user, context, callback) {
if(context.clientName !== 'NameOfTheAppWithWhiteList'){
var whitelist = [ 'tenantId1', 'tenantId2' ]; //authorized Azure AD tenants.
var userHasAccess = whitelist.some(
function (tenantId) {
return tenantId === user.tenantid;
});
if (!userHasAccess) {
return callback(new UnauthorizedError('Access denied.'));
}
}
callback(null, user, context);
}
Haftungsausschluss: I arbeite für Auth0.
Hallo Dan, danke für die Antwort. Ich konnte diese Überprüfung für meinen Code durchführen, aber der Benutzer konnte sich weiterhin als Benutzer meiner App bei meinem Mandanten registrieren. Ich habe es getestet. Gibt es eine Möglichkeit, die Zustimmung des Benutzers zu meinem Code zu vermeiden? Ich nehme dieses Beispiel als Referenz: https: //github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet. Es wäre großartig, eine Option auf der Anwendungskonfigurationsseite zu haben. –
Das ist richtig. Ohne eine neue Funktion können wir nicht verhindern, dass Nutzer sich zu Ihrer mandantenfähigen App anmelden. Die Zugriffskontrolle muss im Rahmen der Autorisierung des Nutzers in Ihrer App erfolgen. Ich werde hier sicher eine Feature-Anfrage hier Rodrigo hinzufügen. Danke für die Rückmeldung. –
Großartig! Danke Dan! –