从Api网关接收未经授权的信息

时间:2019-07-22 22:28:46

标签: .net-core aws-lambda jwt aws-api-gateway unauthorized

我正在.net核心中使用jwt中间件来验证令牌。我已经这样配置了。

using (var publicRsa = RSA.Create())
{
    var array = Convert.FromBase64String("publickey");
    var rsaKeyParameters = (RsaKeyParameters) PublicKeyFactory.CreateKey(array);
    var rsaParameters = new RSAParameters
    {
        Modulus = rsaKeyParameters.Modulus.ToByteArrayUnsigned(),
        Exponent = rsaKeyParameters.Exponent.ToByteArrayUnsigned()
    };

    publicRsa.ImportParameters(rsaParameters);
    _issuerSigningKey = new RsaSecurityKey(publicRsa);
}

var jwtParams = new TokenValidationParameters
{
    IssuerSigningKey = _issuerSigningKey,
    ValidAudience = "audience",
    ValidIssuer = "https://sxxxx",
    RequireExpirationTime = true,
    ValidateLifetime = true,
    SaveSigninToken = true,
};

services.AddAuthentication(options =>
{
    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
    options.RequireHttpsMetadata = false;
    options.TokenValidationParameters = jwtParams;
    options.Audience = "audience";
});

我正在localhost上测试,它可以完美运行。

我已经使用aws api网关和lambda部署了api。当我在AWS中部署该应用程序并尝试调用终结点计算机时,尽管提供了正确的公共密钥,但仍遭到了未经授权。

  

内容长度:0连接:保持活动状态

     

x-amzn-Remapped-WWW-Authenticate:承载错误=“ invalid_token”,   error_description =“未找到签名密钥” X-Cache:错误   来自cloudfront通过:1.1 xxxx.cloudfront.net(CloudFront)

我是否需要在配置中指定其他内容或使用api网关指定其他内容?

我想念什么?请帮忙..

0 个答案:

没有答案