2017-09-11 6 views
0

grapqh-java impl에서 인증 및 권한 부여를 위해 내 나머지 끝점에 HTTP 헤더를 보내는 방법이 필요합니다. GraphQL 서비스 계층에서 인증 및 권한 부여를 수행하고 있으며 성공했습니다. 이제 모든 나머지 끝점에 동일한 헤더를 전달해야합니다. 내가 이것을 할 수있는 방법이 있나. Grapqhl - 봄 부팅 나머지 엔드 포인트 - 쿼리를 실행할 때 DropwizardGraphQL-Java REST 끝점에 HTTP 헤더 보내기

답변

1

는 어쩌면 단지 GraphQL 컨텍스트에 필요한 사용자 별 데이터를 첨부, 예 :

graphQL.execute(queryString, context); 

context 토큰을 포함, 어떤 객체가 될 수있는 곳 , 쿠키, 세션 데이터, 그리고 HttpServletRequest

, 당신의 DataFetcher의에서 올바른 헤더를 보내는 데 사용 (일명 해결 프로그램) :

public Object get(DataFetchingEnvironment environment) { 
    Map<String, Object> context = environment.getContext(); 
    //get tokens, session data or whatever you need from the context to create the headers 
    List headers = ...; 
    return callRestWithHeaders("/rest/example", headers); 
} 

이 헤더 준비 논리는 컴포지션, 상속 또는 AOP 스타일을 통해 한 곳에서 수행하는 것이 좋습니다.

+0

감사! 그것은 작동합니다. – Libin