2012-10-24 2 views
0

그래, 필자는 Thinktecture IdentityModel 4.0 (tt.idm)을 사용하여 WebAPI를 통해 들어오는 SAML2 보안 토큰을 받아들이고이를 ClaimsPrincipals로 변환합니다. 그리고 tt.idm과 함께 제공되는 샘플을 기반으로 예상대로 작동하는 프로젝트가 있습니다.응용 프로그램 구성을 기반으로 tt.idm을 통해 SAML2 토큰을 받아들이는 방법

유일한 문제는 모든 샘플 (및 확장하여 내 프로젝트)이 하드 코드 된 SecurityTokenHandlerConfiguration 개체를 사용하며 WIF 구성에서 설정을 사용하고 싶다는 것입니다.

그래서, 현재이처럼 보이는 무언가가 :

public static AuthenticationConfiguration Create() 
    { 
     var config = new AuthenticationConfiguration(); 
     var idsrvRegistry = new ConfigurationBasedIssuerNameRegistry(); 

     idsrvRegistry.AddTrustedIssuer("*THUMBPRINT REDACTED*", "*ISSUERNAME REDACTED*"); 

     var idsrvConfig = new SecurityTokenHandlerConfiguration(); 

     idsrvConfig.AudienceRestriction.AllowedAudienceUris.Add(new Uri("http://somerealm.com")); 
     idsrvConfig.IssuerNameRegistry = idsrvRegistry; 
     idsrvConfig.CertificateValidator = X509CertificateValidator.None; 

     config.AddSaml2(idsrvConfig, AuthenticationOptions.ForAuthorizationHeader("SSO_SAML")); 

     return config; 
    } 

을하지만, 내 구성에서 그 값을로드하고 싶습니다 - 자동으로하든, microsoft.identityModel 구성 섹션을로드하여, 또는. 뭐라해도 말이야.

지금까지는 아무 것도 작동하지 않았습니다. 예를 들어 ConfigurationBasedIssuerNameRegistry를 새로 만들면 빈 IssuerNameRegistry가 생성됩니다. 그리고 microsoft.identityModel 구성 섹션을로드하면 기본적으로 속성이없는 구성 섹션이 생성됩니다.

현재 구성에서 tt.idm을로드하는 방법이 있습니까? 또는 WIF에 알리는 방법은 무엇입니까?

어떻게해야합니까? o.O

답변

0

config에서 값을 수동으로 읽고 작성 방법에 할당해야합니다.

FederatedAuthentication 또는 IdentityConfiguration을 사용하여 config에서 읽을 수 있습니다.