【问题标题】:Identity Server Get new token or populate claim without logout身份服务器无需注销即可获取新令牌或填充声明
【发布时间】:2018-12-09 09:16:02
【问题描述】:

隐式授权流程:

有没有办法我可以获得特定场景的新不记名令牌 (和新的 refresh_token?)

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

我的问题是如何(或在哪里)在不退出用户的情况下执行此操作?

谢谢,

编辑:

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

概率。提出相同问题的另一种方式...

在 Identity Server 4 中,是否有任何地方(委托、方法调用等)可用于向现有令牌添加新声明?所以例如如果我有一个端点https://myauthserver/changemypincode 并且从该端点我可以调用它(委托、方法调用等)以向令牌添加新声明(它可以创建新令牌作为结果但没关系)并返回给客户端?

【问题讨论】:

    标签: c# security oauth claims-based-identity identityserver4


    【解决方案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[] { "YourApiName" });
        return token;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 2019-01-04
      • 1970-01-01
      • 2014-12-01
      • 2020-01-09
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多