【问题标题】:Angular Autentication Service using Owin and Identity and JWT使用 Owin 和 Identity 以及 JWT 的 Angular 身份验证服务
【发布时间】:2015-09-23 19:30:37
【问题描述】:

我正在使用 owin 和 JWT 构建一个 web api,当我执行项目时,它向我显示了一个异常。这是一种使用 JWT 的方法,我遇到了 as:AudienceId 和 as:AudienceSecret 的问题,它告诉我 AudienceSecret 为空。可能是什么问题?

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)
                }
            });
    }

【问题讨论】:

  • 我猜你应该显示你的OAuthAuthorizationServerProvider的代码。

标签: authentication asp.net-web-api owin jwt


【解决方案1】:

此语句在 web.config 文件中查找 appSettings 键 as:AudienceSecret。

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

由于结果 audienceSecret 为空。该语句未找到密钥 as:AudienceSecret。最合理的解释是 web.config 中缺少 key。您需要像这样将密钥添加到 web.config。像这样的东西

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

您可能想要使用不同的值,因为它是……一个秘密。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-14
    • 2020-07-23
    • 2021-04-30
    • 1970-01-01
    • 2017-09-11
    • 2016-09-25
    • 1970-01-01
    • 2017-11-25
    相关资源
    最近更新 更多