2016-10-03 5 views
1

GegebenIdentityServer-Offset im Identitätsanspruch

Identity Server, der den RessourceOwner- und Hybrid-Datenfluss zulässt. Der Hybrid Flow ist in eine Website integriert und der ResourceOwner Flow wird von einer API verwendet.

Wenn ich mit hybrid Strömungs I kann Anmelden sehen, dass es eine Forderung unterliegt das Subjekt/ID-Daten enthalten.

Als ich mit dem ressourceowner authentifizieren i am claimsprincipal sehen kann, dass die ID in

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier 

wo festgelegt wird, ist es ein ein Offset? Ist das ein Hinweis darauf, dass ich etwas falsch codiert habe? oder ist das ein erwartetes Verhalten und wenn ja, warum?

- Update

Konfiguration im api

app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions 
      { 
       Authority = identServer 
      }); 

Externe Auth config in IdentityServer

var fb = new FacebookAuthenticationOptions 
      { 
       AuthenticationType = "Facebook", 
       Caption = "Facebook", 
       SignInAsAuthenticationType = signInAsType, 
       AppId = "43543534543534534", 
       AppSecret = "sad345345345345354" 
      }; 
      app.UseFacebookAuthentication(fb); 

Client-config in identityServer

return new Client 
      { 
       Enabled = true, 
       ClientId = "pluto", 
       ClientName = "Pluto Site", 
       ClientSecrets = new List<Secret> 
       { 
        new Secret("foo".Sha256()) 
       }, 
       Flow = Flows.ResourceOwner, 
       AllowedScopes = new List<string> 
       { 
        Constants.StandardScopes.OpenId, 
        "read" 
       } 
      }; 
+1

wie ein JWT Handler Konfigurationsproblem mir Sounds. https://leastprivilege.com/2016/08/21/why-does-my-authorize-attribute-not-work/ – leastprivilege

+0

Sorry kann nicht sehen, die Beziehung der verknüpften Beitrag Sie über die OpenIdConnectOptions schreiben, aber derzeit nur ich haben die IdentityServerBearerTokenAuthenticationOptions. Fehle ich etwas? Ich habe auch den Konfigurationscode zu meinem ursprünglichen Post hinzugefügt. –

+0

Ich habe auch versucht, NameClaimType = "Betreff" in der API-Konfiguration zu setzen, aber nichts geändert –

Antwort

0

Die reas auf war, dass ich Clearing Standardzuordnungen fehlt .. Es gehört in den Tutorials war aber nie explaind warum ...

JwtSecurityTokenHandler.InboundClaimTypeMap.Clear(); 
Verwandte Themen