Json Webトークン(JWT)の生成にjose4jバージョン0.6.0を使用しています。すべては、トークンの生成、トークンの検証まで良好です。 JWTの主張のペイロードは、要素バージョンのように、TokenIdが、発行者、アクセス権などの番号を持つことができ、私はTokenPermissionsにoneM2Mにおける標準オブジェクトは、コードのスニペット上jose4j JWTのクレームセットの文字列オブジェクト以外の属性タイプ
JwtClaims claims = new JwtClaims();
claims.setIssuer("[email protected]");
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);
すなわち2仕様をリリースされたオブジェクトを渡している、次のJWTのクレームセットを生成し、{iss = DAS @ ServiceProvider、aud = CSE001、exp = 1508999613、jti = H1wm_yaOe61Co-wND7wBAw、DAS @ CDOT-SP、iat = 1508996013、nbf = 1508995953、sub =件名、[email protected]、groups =
トークン全体が署名と申し立ての検証を通過しますが、[私は型キャストしようとしていますpermission属性をTokenPermissionsに渡します。エラー以下
tokenPermsObject = jwtClaims.getClaimValue("permissions",TokenPermissions.class);
それを通じ: org.jose4j.jwt.MalformedClaimException:「アクセス権の主張の値が期待されるタイプではありません([email protected]は - java.lang.Stringではキャストできませんxyz.xsd.TokenPermissions.TokenPermissions)
jose4j JWTで渡すことができるクレームオブジェクトのタイプは、クレームセットにテキストを強制的に渡す必要がありますか。どんな助けも高く評価されます。
返信と助けのためのBrain、私はまた、送信者の最後に複雑なJavaオブジェクトをシリアル化しようとしていたし、受信者側にそれを逆直列化しました。 Json SerializationがJose4Jでサポートされない理由を知っていますか?今後のリリースでサポートする計画はありますか? –