나는이 문제를 며칠 동안 계속 고집합니다.스프링 보안 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
나는이를 통해 진행되고있다 다른 사람이 희망.
대단히 감사합니다.