2

JJWT ライブラリを使用して、JSON Web トークンからデータを取得しようとしています: https://github.com/jwtk/jjwt

メソッドのシグネチャは次のようになります。

<T> T get(String claimName, Class<T> requiredType);

クレーム属性には、文字列型のセットがあります。

このメソッドから取得しようとすると、

Claims claims - Jwts.parser()...
claims.get("Role", Set.class);

次のエラーが表示されます

! io.jsonwebtoken.RequiredTypeException: 予期される値のタイプは次のとおりです: インターフェース java.util.Set ですが、クラスは java.util.ArrayList でした

このクレームを設定するとき、タイプは Set です

public Set<String> getRoles() {
    return roles;
}  ....


claim("Role", user.getRoles())

これを解決する方法はありますか?

4

1 に答える 1