小编Gru*_*l3r的帖子

使用 System.IdentityModel.Tokens.Jwt 创建带有 x5c 标头参数的 JWT 令牌

我的项目正在构建基于 .NET Core 和System.IdentityModel.Tokens.Jwtnuget 包的身份验证服务。我们希望创建包含可用于验证 JWT 数字签名的公钥证书(或证书链)的 JWT 令牌。这对于商业身份提供商 (SaaS) 来说是可能的,并且在 JWT 规范中通过名为“x5c”的标头参数来支持。但到目前为止,我还无法使用System.IdentityModel.Tokens.Jwt.

我能够创建使用证书签名的 JWT 令牌。该证书是自签名的,并使用 openssl 创建(下面包含命令)。我的 C# 测试代码如下所示:

using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
// more usings..

public static string GenerateJwtToken(int exampleAccountId, string x509CertFilePath, string x509CertFilePassword)
{
    var tokenHandler = new JwtSecurityTokenHandler();
    var signingCert = new X509Certificate2(x509CertFilePath, x509CertFilePassword);

    var tokenDescriptor = new SecurityTokenDescriptor
    {
        Subject = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, exampleAccountId.ToString()) }),
        Expires = DateTime.UtcNow.AddDays(30),
        Audience = "myapp:1",
        Issuer = "self",
        SigningCredentials = new X509SigningCredentials(signingCert, …
Run Code Online (Sandbox Code Playgroud)

security x509certificate2 public-key jwt .net-core

5
推荐指数
1
解决办法
1万
查看次数

在C++ Builder XE2中重命名VCL Form类

在工作中,我们有一个相当大的C++ VCL表单应用程序.它汇编在Embarcadero XE2,但可以追溯到很多年.我需要在这个应用程序中添加一个新表单.

当您执行"文件>添加新> VCL表单"时,将创建一个表单,其中包含类名称TForm1.还创建了一个指针,如下所示:TForm1 *Form1

出于显而易见的原因,我想重命名表单和指针,说TStuffForm*StuffForm.问题是我无法让它工作!

对于那里的任何实际XE2用户:这样做的规范方法是什么?

我已经尝试通过仔细替换字符串直接在代码中重命名,但它不起作用.IDE疯了,并向我发出多个模态弹出窗口抱怨我丢失了TForm1类.这太令人不快了,我放弃了.

我也尝试了IDE中的重构功能,但这也没有用.所以现在我有点卡住了.

c++ ide vcl c++builder c++builder-xe2

4
推荐指数
1
解决办法
1307
查看次数