0

私はこの問題を数日間抱えています。春のセキュリティ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

私はこれを通過された他の誰かがそこにあると思います。

ありがとうございました。

答えて

0

ありがとうございます!それもうまくいくかもしれません!より簡単に実装するために、我々は文字列の配列を生成する5.2.0ベータ版を使用します。 T

0

デフォルトの実装はこちら[1]をご覧ください。また、あなたが5.1.0のためにIS 5.1.0を使うことができるなら、それは良いです。[2]を参照してください。カスタムJWTTokenGeneratorをビルドした後、それをrepository/components/libにコピーします。変更の

<TokenGeneratorImplClass> 

要素のカスタム実装に応じて。

[1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/identity/org.wso2.carbon.identity.oauth/4.2.3/src/main/java/org/wso2/carbon/identity/oauth2/authcontext/JWTTokenGenerator

[2] https://github.com/wso2/carbon-identity/tree/master/components/oauth/org.wso2.carbon.identity.oauth/src/main/java/org/wso2/carbon/identity/oauth2/authcontext

関連する問題