2015-06-04 3 views
0

У меня есть следующие строки где-то в моем кодеSystem.ArgumentNullException при использовании TextEncodings

var issuer = "https://" + ConfigurationManager.AppSettings["auth0:DOMAIN"] + "/"; 

    var audience = ConfigurationManager.AppSettings["auth0:CLIENT_ID"]; 

    var secret = TextEncodings.Base64Url.Decode(
        ConfigurationManager.AppSettings["Auth0:CLIENT_SECRET"]); 

нулевое исключение в последнем заявлении. Вот часть трассировки стека:

[ArgumentNullException: Value cannot be null. 
Parameter name: text] 

Microsoft.Owin.Security.DataHandler.Encoder.Base64UrlTextEncoder.Decode(String text) +99 
AuthZero.API.Startup.ConfigureAuthZero(IAppBuilder app) in c:\Users\Abdi\Source\Repos\Auth0-Example\AuthZero.API\Startup.cs:34 
AuthZero.API.Startup.Configuration(IAppBuilder app) in c:\Users\Abdi\Source\Repos\Auth0-Example\AuthZero.API\Startup.cs:21 

Очевидно, что TextEncodings.Base64Url.Decode ищет подстроки, но вместо этого у меня есть другой метод внутри. Не уверен, почему он не работает, поскольку я копирую из другого github repo.

Вот мой AppSettings, который расположен в Web.Config file:

<appSettings> 
    <add key="auth0:ClientId" value="gO0K9jkaxegRGRSHcZLuaiaCR3aSnDkH" /> 
    <add key="auth0:ClientSecret" value="1zvvKpyWGmFdufNldpB2A9xGuKV_YcAk-pxTNa9RnVTjTIhc5a8GVL6pcufM4owV" /> 
    <add key="auth0:Domain" value="amalexp.auth0.com" /> 
    </appSettings> 

Ладно, я думаю, что я исправил проблему путем удаления ConfigurationManager.AppSettings и вставки строки непосредственно вместо того, чтобы смотреть на App. Файл конфигурации. Но у меня есть «Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не отображать содержимое этого каталога». ошибка, которая является другой историей.

+0

Отладка программы для проверки того, что 'ConfigurationManager.AppSettings [" Auth0: 1zvvKpyWGmFdufNldpB2A9xGuKV_YcAk-pxTNa9RnVTjTIhc5a8GVL6pcufM4owV "]' оценивается во время выполнения. По звукам, это «нуль». – Loocid

+0

Вы правы, что оценивается как null, любая идея, почему это так? –

+0

Кажется, что в настройках вашего приложения еще нет ключа настройки. – Loocid

ответ

0

У вас есть пробел и символ подчеркивания в имени настройки в коде, но не в app.config.

+0

Извините, я сделал эти изменения, чтобы скрыть ключи. В моем фактическом файле нет пробелов или подчеркивания. –

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