在Identity Server 4中使用参考令牌传递其他数据

特雷弗·洛德

我在我的Identity Server上使用参考令牌,并希望将一些其他数据传递给客户端。

我知道如何通过在Profile Service中设置声明来使用JWT进行此操作,但是我找不到使用参考令牌执行类似操作的方法。理想情况下,我希望将数据作为令牌json结果中的额外参数传递,如下所示:

{
    "access_token": "...",
    "expires_in": 3600,
    "token_type": "Bearer",
    "scope": "api1",
    "custom_property": "custom value"
}
Nan Yu

您可以实现(并注册)ICustomTokenRequestValidator可以帮助添加自定义响应参数接口:

public class DefaultClientClaimsAdder : ICustomTokenRequestValidator
{
    public Task ValidateAsync(CustomTokenRequestValidationContext context)
    {
        context.Result.CustomResponse = new Dictionary<string, object>
        {
            {"hello", "world" }
        };

        return Task.FromResult(0);
    }
}

Startup.cs在身份服务器应用程序中注册

services.AddTransient<ICustomTokenRequestValidator, DefaultClientClaimsAdder>();

自定义属性将包含在令牌响应中:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章