2015-04-30 15 views
6

Microsoft.Owin.Security.OpenIdConnect aracılığıyla kimlik doğrulaması için OpenId Connect kullanan bir OWIN web uygulaması oluşturdum.NameClaimType bir uygulamada OWIN güvenlik ara katmanını kullanarak nasıl ayarlanır

Kimlik doğrulaması çalışırken, oluşturulan ClaimsIdentity.Name üyesinin boş olduğunu buldum.

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

Ancak Thinktecture IdentityServer v3 olarak sadece isim sağlamaktadır: ClaimsIdentity istem sağlanacak adını beklediği görünür

adı

I find this is configurable via NameClaimType in older ASP.Net applications ancak bunu nasıl OWIN ile yaptığımı açık değil.

OWIN'i kullanırken hangi hak talebinin ClaimsIdentity.Name ile eşleştirileceğini nasıl yapılandırabilirim? Bu bulmak kod kazma

cevap

13

(istem türü sabit değilse) NameClaimType veya NameClaimTypeRetriever kullanılarak TokenValidationParameters nesnede yapılandırılabilir. Ara katman yapılandırılırken seçenekler nesnesinde

TokenValidationParameters.

app.UseOpenIdConnectAuthentication(
    new OpenIdConnectAuthenticationOptions 
     { 
     <existing configuration snipped>, 
     TokenValidationParameters = 
      { 
      NameClaimType = Thinktecture.IdentityServer.Core.Constants.ClaimTypes.Name 
      } 
     }); 

Thinktecture.IdentityServer.Core.Constants.ClaimTypes.Name açıklanan durumunda yapılandırma çalışmaları aşağıdaki değişiklikler, name olduğunu. Farklı bir iddianın kullanılması gerektiğini göstermek için farklı bir değer sağlanabilir.

İlgili konular