[SPRING] 봄 OAuth2 TokenEndpoint에 대한 HTTP 기본 인증 사용 안 함
SPRING봄 OAuth2 TokenEndpoint에 대한 HTTP 기본 인증 사용 안 함
나는 봄 OAuth2로 시작하고있다. 지금까지 그렇게 좋았습니다. 구성으로 내 앱을 보안했습니다. 하지만 문제가 있습니다. 클라이언트가 HTTP 기본 인증을 지원하지 않습니다.
/ oauth / token 엔드 포인트에 대해 HTTP Basic Auth를 비활성화하는 방법이 있습니까? JSON 본문이나 요청 헤더에 client_id와 client_secret을 보내고 싶습니다.
내가 일하고 싶은 곱슬 곱슬한 예 :
curl -X POST -H "Content-Type: application/json" -d '{
"username": "user",
"password": "pass",
"grant_type": "password",
"client_id": "test-client-id",
"client_secret": "test-client-secret"
}' "http://localhost:9999/api/oauth/token"
또는
curl -X POST -H "Content-Type: application/json" -H "X-Client-ID: test-client-id" -H "X-Client-Secret: test-client-secret" -d '{
"username": "user",
"password": "pass",
"grant_type": "password"
}' "http://localhost:9999/api/oauth/token"
해결법
-
==============================
1.나는 그것을 마침내 이해한다. HTTP Basich Auth를 비활성화하는 방법은 클라이언트에 대해 폼 인증을 사용하는 것입니다. 해당 행을 구성에 추가하기 만하면됩니다.
나는 그것을 마침내 이해한다. HTTP Basich Auth를 비활성화하는 방법은 클라이언트에 대해 폼 인증을 사용하는 것입니다. 해당 행을 구성에 추가하기 만하면됩니다.
@Configuration @EnableAuthorizationServer protected static class OAuth2Config extends AuthorizationServerConfigurerAdapter { @Override public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { oauthServer.allowFormAuthenticationForClients(); } }
이제 다음과 같이 TokenEndpoint에 성공적인 요청을 보낼 수 있습니다.
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'username=user_username&password=user_password&grant_type=password&client_id=your_trusted_client_id&client_secret=your_trusted_client_secret' "http://localhost:8080/oauth/token"
그러나 남아있는 ContentType 응용 프로그램 / json 문제가 여전히 남아 있습니다. 누구든지 이것에 대한 해결책이 있습니까?
from https://stackoverflow.com/questions/38166613/spring-oauth2-disable-http-basic-auth-for-tokenendpoint by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안에서 커스텀 인증 구현하기 (0) | 2019.03.24 |
---|---|
[SPRING] 사실상 프로토 타입 인 autowired 필드의 새로운 인스턴스를 얻는보다 깔끔한 방법 (0) | 2019.03.24 |
[SPRING] 왜 @Transactional 메서드가있는 클래스는 자동 실행되지 않을 수 있습니까? (0) | 2019.03.24 |
[SPRING] 스프링 캐시를위한 커스텀 KeyGenerator를 어떻게 설정합니까? (0) | 2019.03.24 |
[SPRING] war webapp의 Tomcat 서버 절대 파일 액세스 (0) | 2019.03.23 |