首页 文章

Identity Server 4向生成的令牌添加声明

提问于
浏览
1

我正在使用IdentityServerTools生成令牌:

private async Task<string> CreatePaymentsTokenAsync()
{
    var tokenLifeTime = 3600;
    var scopes = new[] { CoinbaseAuthConsts.PaymentScope };
    // Use in-built Identity Server tools to issue JWT
    var token = await _identityServerTools.IssueClientJwtAsync(
            CoinbaseAuthConsts.AuthorityClientId, 
            tokenLifeTime, scopes, new[] { "AstootApi" });
    return token;
}

如何向令牌添加声明?

1 回答

  • 2

    IssueClientJwtAsync is

    用于为服务器到服务器通信创建令牌的更简单版本(例如,当您必须从代码中调用受IdentityServer保护的API时)

    如果您想要更精细地控制生成的令牌,请使用 IssueJwtAsync 的重载之一:

    Task<string> IssueJwtAsync(int lifetime, IEnumerable<Claim> claims)
    // or
    Task<string> IssueJwtAsync(int lifetime, string issuer, IEnumerable<Claim> claims)
    

    您可能需要检查IssueClientJwtAsync的源代码以查看内部调用的完成方式 .

相关问题