나는 Spring Security를 OAuth 2.0과 함께 사용하는 Spring Boot 어플리케이션을 가지고있다. 현재, Spring Example 코드를 기반으로 인증 서버에 대해 작동 중입니다. 그러나 Auth Server를 자체적으로 실행하는 것은 장기 목표가 아닌 개발을 촉진하기위한 단기 목표였습니다. 우리는 authorization_code 부여 유형을 사용하고 있으며 인증 서버 구현과 상관없이이를 계속 사용하고자합니다.Spring-Security-OAuth2 - 액세스 토큰 요청에 필드를 추가하는 방법은 무엇입니까?
인증 서버로 동작하기 위해 Azure Active Directory에서 OAuth 2.0 끝점을 사용하도록 변경하려고합니다. 지금까지/authorize 엔드 포인트에 대한 호출이 성공했습니다. 그러나/token을 얻으려는 호출이 잘못된 요청 오류로 실패합니다. 나는 외출 요청을 볼 수 있습니다.
Azure가 필수 항목으로 표시된 매개 변수가 POST 요청에 채워지지 않은 것처럼 보입니다. Azure doco을 보면 client_id가 엔드 포인트에 게시 된 메시지 본문에 정의되어 있으며 기본적으로 Spring에 의해 추가되지는 않습니다.
액세스 토큰 요청을 구성 할 때 사용되는 양식 맵에 필드를 추가하는 방법에 대한 올바른 방향을 알려줄 수 있습니까? AccessTokenRequest 객체가 OAuth2ClientConfiguration에 설치되고 어디는
@Bean
@Scope(value = "request", proxyMode = ScopedProxyMode.INTERFACES)
protected AccessTokenRequest accessTokenRequest(@Value("#{request.parameterMap}")
Map<String, String[]> parameters, @Value("#{request.getAttribute('currentUri')}")
String currentUri) {
DefaultAccessTokenRequest request = new DefaultAccessTokenRequest(parameters);
request.setCurrentUri(currentUri);
return request;
}
은 내가 request.parameterMap 스프링 속성의 맵을 정의하는 것을 시도해야 하는가 .... 볼 수 있습니까? 그렇다면 어떻게 작동하는지 너무 확신하지 못합니다.
AuthorizationServerConfigurerAdapter 클래스에 정의 된 인터페이스 중 하나를 사용해야합니까?
AccessTokenRequest를 보낼 때 포함 할 정보가 있습니다. 스프링을 포함하도록 구성하는 가장 좋은 방법을 모르겠습니다. 어떤 도움을 주셔서 감사합니다.