2016-04-19 8 views
2

ich IdentityServer3 für die Verwendung von ASP.NET-Identität mit dem bereitgestellten Beispiel einrichten. Alles funktioniert gut lokal, ich kann über '/ admin' auf die Identity Manager-Benutzeroberfläche zugreifen und Benutzer/Rollen hinzufügen/entfernen.ASP.NET-Identity-Plugin-Benutzeroberfläche (IdentityManager) für IdentityServer3 funktioniert nicht nach der Bereitstellung in Azure (WebApp)

Allerdings, wenn ich es zu Azure einsetzen und versuchen, darauf zuzugreifen dann zu einer URL nichts passiert und nimmt mir die wie folgt aussieht: https://IdentityServer3/admin/authorize?state=11373557769572288&client_id=idmgr&response_type=token

Es unabhängig fein lokal funktioniert, wenn ich ein lokales oder entferntes verwenden (Azure SQL) Datenbank.

Der IdentityManager meldet sich automatisch beim ersten Zugriff beim lokalen Benutzer an, was beim Zugriff auf einen Remote-Server möglicherweise ein Problem darstellt, aber ich bin mir nicht sicher, wie ich dies anpassen/ändern kann.

Die Probe I ist hier verwendet: https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/AspNetIdentity

+1

Haben Sie Identity Server als Sicherheitsprovider für Identity Manager hinzugefügt oder verwenden Sie das Beispiel unverändert? –

+0

@ScottBrady Ich benutzte es so wie es ist. Jetzt sah ich dieses Video https://vimeo.com/125427106 und erkannte, dass die Standardkonfiguration LocalHostSecurity ist, die ich vermutete und sinnvoll ist. Gibt es eine Konfigurationsverknüpfung, um IdentityServer als Sicherheitsprovider für IdentityManager hinzuzufügen oder muss ich IdentityManager wie jeden anderen Client behandeln? –

+1

Es sollte wie jeder andere Client behandelt werden. Es gibt jedoch ein wenig Konfiguration in IdentityManagerOptions, sowie einige benutzerdefinierte Bereiche. Ich habe kürzlich einen Artikel geschrieben, der enthält, wie dies bei Interesse ist: https://www.scottbrady91.com/ASPNET-Identity/Identity-Manager-using-ASPNET-Identity –

Antwort

1

Ok, das, falls jemand anderes stößt auf die Lösung Identity des SecurityConfiguration zu HostSecurityConfiguration zu ändern ist und dann entweder:

  1. implementieren manuell eine einfache Authentifizierung Mechanismus wie hier gezeigt: https://vimeo.com/125427106

    oder

  2. Konfigurieren Sie den IdentityManager wie jeden anderen OIDC-Client. Weitere Details hier: https://www.scottbrady91.com/ASPNET-Identity/Identity-Manager-using-ASPNET-Identity

der vor allem ist notwendig, da standardmäßig die Identity LocalhostSecurityConfiguration verwendet, die nur die Authentifizierung über localhost ermöglicht.

Für die zweite Option, die SecurityConfiguration des Identity wird am Ende wie folgt suchen:

managerApp.UseIdentityManager(new IdentityManagerOptions() 
       {        
        SecurityConfiguration = new HostSecurityConfiguration 
        { 
         HostAuthenticationType = "cookies", 
         AdditionalSignOutType = "oidc", 
         NameClaimType = Constants.ClaimTypes.Name, 
         RoleClaimType = Constants.ClaimTypes.Role, 
         AdminRoleName = "IdentityManagerAdministrator" //default role name for IdentityManager 
        } 
       }); 

Als Tipp, wenn Sie die Identity in der gleichen Web-Anwendung als IdentityServer laufen selbst dann stellen Sie sicher, legen die Authentifizierungslogik nach dem IdentityServer Mapping des Identity und vor dem Identity des Mapping:

app.Map("/identity", idsrvApp => 

//this sets IdentityManager to use IdentityServer as Idp 
ConfigureIdentityManagerAuthentication(app); 

app.Map("/manager", managerApp => 

Wenn Sie es vor der Zuordnung des IdentityServer platzieren, dann werden Sie ein zusätzliches externes ‚OpenId‘ sehen Provider auf der IdentityServer-Anmeldeseite. Wenn Sie es nach der IdentityManager-Karte einfügen, funktioniert die Authentifizierung nicht.

+1

scottbrady91.com nicht verfügbar. Google-Cache: https://webcache.googleusercontent.com/search?q=cache:Z1OM--jtGRoJ:https://www.scottbrady91.com/ASPNET-Identity/Identity-Manager-using-ASPNET-Identity+&cd= 1 & hl = de & ct = clnk & gl = uk –

Verwandte Themen