0

나는이 문제를 며칠 동안 계속 고집합니다.스프링 보안 WSO2 통합 - 권한을 할당하는 방법을 알아 내고 wso2 토큰을 사용자 정의합니다.

그래서 내가하려는 것은 스프링 보안 프레임 워크로 롤을 할당하는 것입니다. 내 목표는 내가 역할 (책임 기관)에 따라 요청이 단순 온천 부팅 응용 프로그램 내 의 SecurityConfig 클래스는

인 권한을 부여 할 수 있도록 오픈 ID를 통해 WSO2 Identity Server를 5.0에서 내가 얻을 토큰을 디코딩하고 역할을 할당하는 것입니다

@Profile("oauth")
@Configuration
@EnableResourceServer
public class SecurityConfig {

}

따라서이 구성으로 토큰을 디코딩 할 수 있습니다.

java.lang.ClassCastException가
java.lang.String의가 캐스팅 될 수 없습니다 나는 단순 온천 부팅 응용 프로그램에 id_token와 요청을했을 때

그러나 디버그 모드에서, 나는 오류가 발생 java.util.Collection이

그리고지도 객체가 문자열 [] 역할로 전환 될 때 특히 코드의 라인에, DefaultAccessTokenConverter 클래스에서 발생


이 3,내 WSO2 봄 문자열의 배열을 기대하는 것 같다

{
"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. 쓰기 봄으로 OAuth2의 일부 구성 O를
2. 구성 WSO2 신원 서버 (이것은 내가하려고했습니다 무엇을 (나는이 밖으로 아직 생각하지 않은) 생각할 수있다

해야 할 것).

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> 

요소는 사용자 정의 구현에 따라 identity.xml에 있습니다.

[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