我的应用程序为每个新注册用户创建一个自定义属性“ userType”。现在,我希望每当用户登录或刷新令牌时,都会将此“ userType”声明/属性添加到JWT访问令牌中。
是否可以告诉Cognito将我的自定义声明/属性添加到JWT访问令牌中? (没有预生成代币的Lambda)
答案 0 :(得分:5)
自定义属性在Cognito访问令牌中不可用。目前,还无法使用Pre Token Generation Lambda Trigger在访问令牌中注入其他声明。 PreToken Generation Lambda Trigger允许您仅自定义身份令牌(Id令牌)声明。
答案 1 :(得分:0)
当我想创建多个微服务时,我遇到了同样的问题。我无法自定义访问令牌,只能自定义身份令牌。但是,我在需要访问令牌的机器到机器中使用客户端凭据。因此,我绝不能自定义我的令牌。最后,我决定在事件标题中添加此类信息(如用户类型)。与自定义令牌相比,这不是一种非常安全的方法,但目前没有任何其他简单的方法可以做到这一点。否则,我必须在 Cognito 中重写授权方。就像重写自定义授权器一样,非常痛苦。