2015-09-23 16 views
0

Я собираю веб-api с owin и JWT, когда я выполняю проект, он показывает мне исключение. Это метод, который потребляет JWT, у меня проблемы с as:AudienceId и as:AudienceSecret, это говорит мне, что AudienceSecret имеет значение NULL. Что может быть проблемой?Угловая служба аутентификации с использованием Owin и Identity и JWT

private void ConfigureOAuthTokenConsumption(IAppBuilder app) 
    { 

     var issuer = "http://localhost:59822"; 
     string audienceId = ConfigurationManager.AppSettings["as:AudienceId"]; 
     byte[] audienceSecret = TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["as:AudienceSecret"]); 

     // Api controllers with an [Authorize] attribute will be validated with JWT 
     app.UseJwtBearerAuthentication(
      new JwtBearerAuthenticationOptions 
      { 
       AuthenticationMode = AuthenticationMode.Active, 
       AllowedAudiences = new[] { audienceId }, 
       IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[] 
       { 
        new SymmetricKeyIssuerSecurityTokenProvider(issuer, audienceSecret) 
       } 
      }); 
    } 
+0

Я думаю, вы должны показать код для своего 'OAuthAuthorizationServerProvider'. – LeftyX

ответ

0

Это утверждение ищет AppSettings ключевых как: AudienceSecret в web.config файла.

byte[] audienceSecret = TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["as:AudienceSecret"]); 

Поскольку результат audienceSecret равна нулю. Заявление не находит ключ as: AudienceSecret. Наиболее разумным объяснением является отсутствие ключа у web.config. Вам нужно добавить ключ к web.config как this.Something как этот

<appSettings> 
    <add key="as:AudienceId" value="414e1927a3884f68abc79f7283837fd1" /> 
    <add key="as:AudienceSecret" value="qMCdFDQuF23RV1Y-1Gq9L3cF3VmuFwVbam4fMTdAfpo" /> 
    </appSettings> 

Вы можете захотеть использовать разные значения потому что это ... секрет.

Смежные вопросы