Ich habe eine Service Fabric-Anwendung (Stateless und Statefull) im Service-Fabric-Cluster bereitgestellt. Ich versuche, Sicherheit in den Anwendungen zu implementieren. Die Anwendung verwendet die Active Directory-Authentifizierungsbibliothek (Active Directory Authentication Library, ADAL), um ein Token von Azure AD mithilfe des OAuth 2.0-Clientidentifizierungsdatenflusses abzurufen, wobei es sich bei der Clientberechtigung um ein Kennwort handelt. Ich bin in der Lage, das gleiche Szenario in gewöhnlichen Web-API-Anwendungen zu implementieren, indem ich sie im Azure-Portal registriere. Kann mir jemand sagen, wie man eine Service-Fabric-Microservice-Anwendung mit WebApi, das mit Owin verfügbar gemacht wurde, registriert hat? Ich habe Schwierigkeiten, die Antwort-URL zu registrieren und auf URL zu signieren, da die URLs dynamisch sind (für Statefull Partitionid und Replikat-ID). Ich erhalte unautorisierten Zugang beim Aufruf des entsprechenden Dienstes. Ich bin mir nicht sicher, welche URL für eine zustandsbehaftete oder zustandslose Anwendung registriert werden muss, wenn die Anwendung im azurblauen aktiven Verzeichnis hinzugefügt wird. Könnten Sie mir bitte vorschlagen, wo ich falsch liege und was zu tun wäre.Registrieren von MicroServices in Azure Active Directory (AAD) für Sicherheit
Antwort
Kann mir jemand sagen, wie man eine Service-Fabric-Microservice-Anwendung mit WebApi, die mit Owin freigelegt wurde, registriert. Ich habe Schwierigkeiten, die Antwort-URL zu registrieren und auf URL zu signieren, da die URLs dynamisch sind (für Statefull Partitionid und Replikat-ID).
Das Client Credential fließen wird für den Dienst oder Daemon app verwendet. Es ist nicht erforderlich, redirect_url zu verwenden, wenn wir den Clientberechtigungsfluss zum Abrufen des Tokens verwenden. Sie können jede validate redirect_url registrieren. Hier ist ein Beispiel, dass die Client-Anmeldeinformationen verwenden:
POST https://login.microsoftonline.com/<tenantId>/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id=<clientId>
&client_secret=<clientSecret>
&resource=<app id uri of your web api >
Und es ist das gleiche, das mit Azure AD mit Web-API Azure Service Gewebe zu integrieren. Hier ein Beispiel für Ihre Referenz:
1. registrieren Sie eine Web-App (app1), die zum Schutz der Web-API auf Azure-Portal verwendet wurde
2. Registrieren Sie eine Web-App (app2) als Client, um die Web-API anzufordern
3. Gewähren Sie die App1 der App2 von Portal
4. Erstellen einer Service Fabric-Anwendung mit Stateless Web API Vorlage
5. Konfigurieren Sie die App.config der Service Fabric - Anwendung
<add key="ida:Audience" value="app id Uri of app1" />
<add key="ida:Tenant" value="tenantId" />
6. das Paket installieren Microsoft.Owin.Security.ActiveDirectory
Install-Package Microsoft.Owin.Security.ActiveDirectory
7. Ändern Sie den Code Start unten wie :(Hinweis: Um die MethodeappBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication
vorappBuilder.UseWebApi(config)
ist.
public static void ConfigureApp(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuer = false
}
});
appBuilder.UseWebApi(config);
}
- ausführen, um die Service-Struktur-Anwendung
- erwerben, um das Token, um den Client Credential Fluss unter Verwendung von oben genannten (clientId und clientSecret ist von app2)
- Anfrage des Service public durch Service Fabric Anwendung mit dem Zugriffstoken und es funktioniert gut
Danke .. Das löste das Problem .. Ich hatte nur ein Fehler. Ich habe appBuilder.UseWebApi (config) nach der azure ad config Registrierung platziert. –
- 1. Benutzerverwaltung mit Azure Active Directory?
- 2. Azure Active Directory (AAD) -Authentifizierung, Weiterleitungs-URL funktioniert nicht
- 3. Synchronisierung von Active Directory-Domänendienste (ADDS) und azur Active Directory (AAD)
- 4. Umbenennen von Azure Active Directory
- 5. Azure Active Directory SSO
- 6. Deaktivieren des Benutzer-Browsing in Azure Active Directory für Standardbenutzer
- 7. Azure Active Directory-Authentifizierung
- 8. Verwenden von Windows Azure Active Directory für öffentliche Benutzer
- 9. Azure Active Directory-Rollen
- 10. Azure Active Directory übergibt leere GUID für mandatorId mit Standardvorlage
- 11. Wie kann das Passwort von Azure Active Directory zurückgesetzt werden?
- 12. Hinzufügen von Azure Active Directory-Benutzer zu Azure SQL-Datenbank
- 13. Benutzerdefinierte Anmeldeseite für Azure Active Directory
- 14. ARM-Vorlage für Azure Active Directory
- 15. SonarLint-Authentifizierung funktioniert nicht bei Verwendung von Azure Active Directory
- 16. Azure Active Directory-Authentifizierung von der nativen Anwendung ohne Benutzeranmeldung
- 17. Azure-Active Directory-Token aus einer Elektronen-App abrufen
- 18. Azure Active Directory B2C-Bereitstellung über Ressourcenmanager (oder -code)
- 19. Zugriff erforderlich Antwort von Azure Active Directory
- 20. Azure Active Directory-Gruppen/-Rollen
- 21. Authorization-Header (JSON-Web-Token) von Azure Active Directory abrufen
- 22. Azure Active Directory als Domain Controller für Azure Virtual Machines
- 23. Welche Azure Active Directory-Grafik-API sollte ich verwenden?
- 24. Azure Active Directory-Authentifizierung für die Azure-Website
- 25. Authentifizierung in Azure SQL-Datenbank mit Azure Active Directory B2C
- 26. Azure Active Directory-Clientgeheimnisse in SPA-Anwendungen
- 27. Azure gehostet WCF azure Active Directory-Authentifizierung gibt zurück 404
- 28. Wie lösche ich eine Anwendung aus dem Azure Active Directory?
- 29. Registrieren Sie Benutzer bei Microsoft Active Directory Aus Registrierungsformular
- 30. Registrieren einer Dienstanwendung in einem Azure B2C Active Directory mithilfe von PowerShell
einige Code auf was Sie getan haben, kann helfen. – Peter
Ich befolge die gleichen Schritte, die hier erwähnt werden. [Https://github.com/Azure-Samples/active-directory-dotnet-daemon] Der TodoListService ist hier ein Service, der State-of-the-Art ist, wobei Web-API mit Hilfe von owin im Cloud-Cluster verfügbar gemacht wird . Ich bin mir nicht sicher, wie die Antwort und die Anmelde-URL konfiguriert werden müssen. Ich habe beide Methoden versucht, die vollständige URL und die partielle URL wie unten angegeben, teilweise url: http: // localhost: 8082/SampleMa/ komplette URL: \t http: // localhost: 8082/SampleMa/9ac178c1-0f43- 4c9e-a816-546546e50cea/131250461563590773/688ff0f2-b980-437a-95ec-527645a5d107 –
Dies ist die Konfiguration verwendet, in var y = new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = "testad.onmicrosoft.com" TokenValidationParameters = new System.IdentityModel .Tokens.TokenValidationParameters { SaveSigninToken = true, ValidAudience = "https://testad.onmicrosoft.com/SampleMa" } }; appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication (y); Ich bekomme immer unautorisiert für den entsprechenden Anruf von der Daemon-Konsole app –