用户集合
{"username":"admin","roles":["myasd_manager"],"permissions":[],...}
问题:
[isAuthorized("role:myasd_manager")
返回false
(期望的真值)
。方法调用:
String requiredRole = MongoAuth.ROLE_PREFIX + "myasd_manager";
routingContext.user().isAuthorized(requiredRole, res -> {res.result()});
我的JWT身份验证提供程序设置如下:
PubSecKeyOptions keyOptions = new PubSecKeyOptions()
.setAlgorithm(JWT_HASH_ALGORITHM)
.setPublicKey(publicKey).setSecretKey(privateKey);
JWTAuthOptions config = new JWTAuthOptions().addPubSecKey(keyOptions);
JWTAuth jwtAuthProvider = JWTAuth.create(vertx, config);
和我的路由器是这样的:
router.get("/myresource")
.handler(JWTAuthHandler.create(jwtAuthProvider).setIssuer(issuer)
.setAudience(Collections.singletonList(audience)))
.handler(new MyHandler(userClient));
到目前为止,我已经尝试了很多事情,并多次阅读vert.x文档以获取不同的身份验证方法
rountingContext.user()
方法返回的经过身份验证的JWTUser(即,在创建JWT令牌时将其写入角色)。堆栈:Vert.x JWT身份验证Vert.x Mongo身份验证用户集合(在身份验证过程中使用):{“ username”:“ admin”,“ roles”:[“ myasd_manager”],“ permissions”:[], ...}问题:isAuthorized(“ role:...
permissionsClaimKey
添加到JWTAuthOptions