小编Kun*_* B.的帖子

为什么我得到SecurityTokenSignatureKeyNotFoundException?

当我尝试将此JWT(由Azure移动服务发布)作为HTTP标头/授权/承载令牌传递时:

Header:
{
    "alg": "HS256", 
    "typ": "JWT", 
    "kid": "0"
}
Claims:
{
    "ver": 2, 
    "aud": "Facebook", 
    "iss": "urn:microsoft:windows-azure:zumo", 
    "urn:microsoft:credentials": "pYK8b5...", 
    "exp": 1436730730, 
    "uid": "Facebook:10000xxxxxxxxxx"
}
Run Code Online (Sandbox Code Playgroud)

进入我的ASP.NET WEB API配置:

const string issuer = "urn:microsoft:windows-azure:zumo";
byte[] mobileServicesSecret = TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["as:SecretKey"]);

app.UseJwtBearerAuthentication(
    new JwtBearerAuthenticationOptions
    {
      AuthenticationMode = AuthenticationMode.Active,
      AllowedAudiences = new[] { "Facebook" },
      IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
              {
                  new SymmetricKeyIssuerSecurityTokenProvider(issuer,  mobileServicesSecret)
              }
    });
Run Code Online (Sandbox Code Playgroud)

我明白了:

System.IdentityModel.Tokens.Jwt.dll中出现'System.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException'类型的第一次机会异常

我怀疑这是因为"孩子"财产的存在?

编辑:使用这个https://github.com/Magenic/JWTvalidator/tree/master/JwtValidator/JwtValidator ,可以验证JWT,所以它没有错.但我真的想用OWIN/Katana.

c# jwt asp.net-web-api katana

7
推荐指数
1
解决办法
1613
查看次数

SPROC完成执行后如何触发触发器?

我编写了一个触发器,一旦执行了INSERT行,它就会发送电子邮件。

ALTER TRIGGER TR_SendMailOnDataRequest
      ON DataRequest
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE 
        @DR_Id INT,
        @DR_FullName VARCHAR(200),
        @DR_Email VARCHAR(200),
        @DR_Phone VARCHAR(20),
        @UT_Name VARCHAR(50),
        @DR_UserTypeOther VARCHAR(50) = NULL,
        @D_Name VARCHAR(200),
        @DR_RequestDate DATETIME,
        @UF_LinkedFiles VARCHAR(MAX),
        @DRN_Names VARCHAR(200),
        @DR_Description VARCHAR(1200),
        @DR_CreatedOn DATETIME,
        @analystMailList VARCHAR(MAX),
        @tableHtml NVARCHAR(MAX),
        @downloadLink VARCHAR(MAX) = N'NONE'

    SELECT @DR_Id = MAX(DR_Id) FROM dbo.DataRequest

    SELECT 
        @DR_FullName = DR_FullName,
        @DR_Email = DR_Email,
        @DR_Phone = DR_Phone,
        @UT_Name = UT_Name,
        @DR_UserTypeOther = DR_UserTypeOther,
        @D_Name = D_Name,
        @DR_RequestDate = DR_RequestDate,
        @UF_LinkedFiles = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server triggers

6
推荐指数
0
解决办法
206
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

jwt ×1

katana ×1

sql ×1

sql-server ×1

triggers ×1