私はこの問題を数日間抱えています。春のセキュリティWSO2の統合 - 権限の割り当て方法/ wso2トークンのカスタマイズ方法を解説します
私がしようとしているのは、ROLESにスプリングセキュリティフレームワークを割り当てることです。私の目標は、これは、単純な春ブーツアプリ
の私 SecurityConfigクラスで、私はOpenIDを経由WSO2たIdentity Server 5.0から入手、そのトークンデコードし、私は役割(権限)に基づいて要求を許可することができるように役割を割り当てることがです
@Profile("oauth")
@Configuration
@EnableResourceServer
public class SecurityConfig {}
この構成では、トークンをデコードすることができます。
java.lang.ClassCastExceptionが
java.lang.Stringではキャストすることはできません。私はシンプルな春のブートアプリにid_tokenとの要求を行ったとき
しかし、デバッグモードでは、私はエラーを受信しましたjava.util.Collectionに
及び地図オブジェクトが文字列[]の役割に変換されるとき、それは特に、コードの行で、DefaultAccessTokenConverterクラスで行わ
このは私のWSO2は春がStringの配列を期待しているようです
{
"auth_time": 1464819792, "exp": 1464823490,
"azp": "U1PXsuyV_tdBERmZIoHHnqoGkWIa",
"authorities": "[\"ROLE_ADMIN\",\"approver\",\"Internal\/everyone\"]",
"at_hash": "Hh2LUZl3Bp6yDqyZt4r6Gg",
"aud": [
"U1PXsuyV_tdBERmZIoHHnqoGkWIa"
],
"iss": " https://localhost:9443/oauth2/token ", "locality": "[\"ROLE_ADMIN\"]", "iat": 1464819890 }
トークンデコードではなく、Stringオブジェクトは、(先頭に二重引用符や当局の値の終わりがあります。
audの形式は、春が期待しているようです。
だから、私は
1.書き込みoを春のOAuth2(私はまだこれを考え出したていない)
2.私がしようとしてきたものを設定WSO2アイデンティティサーバー(この中にいくつかの設定を考えることができる2つのオプションがあります行う)。
WSO2カーボンで独自のJWTTokenGeneratorを実装できるとの情報があります。コードを見ることで、これは、二重引用符がクレームの中で生成される場所であると思われる。
org.wso2.carbon.identity.oauth2.authcontext.JWTTokenGenerator
私はこれを通過された他の誰かがそこにあると思います。
ありがとうございました。