0

コードのどこかに次の行があります

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

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

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

最後のステートメントで null 例外がスローされます。スタック トレースの一部を次に示します。

[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 は String パラメーターを探していますが、代わりに内部に別のメソッドがあります。別の github repoからコピーしているため、なぜ機能しないのかわかりません。

Web.Configファイルにある私の AppSettings は次のとおりです。

   <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.AppSettingsApp.Config ファイルを見るのではなく、文字列を直接削除して挿入することで問題を解決したと思います。しかし、「HTTP エラー 403.14 - 禁止されています。Web サーバーは、このディレクトリの内容を一覧表示しないように構成されています」というメッセージが表示されました。エラーは別の話です。

4

1 に答える 1