首页 文章

Identity Server无需注销即可获取新令牌或填充声明

提问于
浏览
1

隐式拨款流程:

有没有办法可以为特定场景获取新的持票令牌(以及新的refresh_token?) .

所以我在应用程序上有一些操作,它将在服务器上调用api,这将需要填充新的声明(以及结果的新的承载令牌) .

我的问题是如何在没有用户注销的情况下(或者在哪里)这样做?

谢谢,

编辑:

事实证明,隐含流中的刷新令牌是一个坏主意 .

概率 . 另一种提出同样问题的方法......

在Identity Server 4中是否存在可用于向现有令牌添加新声明的任何位置(委托,方法调用等)?所以对于例如如果我有一个 endpoints https://myauthserver/changemypincode并且从该 endpoints 我可以调用它(一个委托,方法调用等)来向令牌添加新的声明(它可以创建新的令牌,但那很好)并返回客户端?

1 回答

  • 0

    我知道这是一个老问题,但您可以通过使用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[] { "YourApiName" });
        return token;
    }
    

相关问题