Json Web Token(JWT) の生成に jose4j バージョン 0.6.0 を使用しています。トークンの生成、トークンの検証まで、すべて問題ありません。JWT のクレーム ペイロードには、バージョン、トークン ID、発行者、権限などの要素を多数含めることができます。oneM2M リリース 2 仕様の標準オブジェクトである TokenPermissions オブジェクトを渡しています。
JwtClaims claims = new JwtClaims();
claims.setIssuer("DAS@ServiceProvider");
claims.setAudience("CSE001"); //
.....
.........
TokenPermissions tokenPerms = new TokenPermissions();
TokenPermission tokenPerm = new TokenPermission();
tokenPerm.getResourceIDs().add("RXYZ");
tokenPerm.setPrivileges(setOfAcr);// setOfACr is another object on oneM2M
tokenPerms.getPermission().add(tokenPerm);
claims.setClaim("permissions",tokenPerms);
上記のコード スニペットは、次の JWT クレーム セットを生成しますmail@example.com, groups=[group-one, other-group, group-three], version=1.0.0, permissions=cdot.onem2m.resource.xsd.TokenPermissions@7f3b97fd}
トークン全体が署名とクレームの検証に合格しますが、タイプキャスト許可属性を TokenPermissions にしようとすると、エラーが発生します。
tokenPermsObject = jwtClaims.getClaimValue("permissions",TokenPermissions.class);
以下のエラーを介して: )
jose4j JWT で渡すことができるクレーム オブジェクトの種類は何ですか? クレーム セットで強制的にテキストを渡す必要がありますか? どんな助けでも大歓迎です。