2016-06-30 2 views
2

많은 속성을 가진 사용자 중 일부는 공개이고 다른 일부는 기본적으로 비공개이며 사용자가 그렇게 선택하면 공개가 될 수 있습니다.GraphQL/Relay의 프라이버시 처리

개인 속성 가져 오기는 어떻게 처리합니까? 예를 들어 모든 사용자의 속성을 가져 오려고하면 모든 공개 속성과 개인 속성에 대한 null-ish 값 (권한이 부여되지 않은 오류 메시지가 아님)이 표시됩니다.

사용자가 모든 데이터를 가져 오는 데 문제가 없도록이 방법을 무시하고 싶습니다.

답변

1

필드의 개인 정보는 서버 측에서 수행해야합니다.

사용자 모델의 전역 해결 함수에서 모든 개인 속성을 null로 설정하거나 잠재적으로 개인 속성에서 분석 함수를 추가하도록 설정할 수 있습니다.

다음 중계를 통해 모든 것을 가져옵니다. 나는 당신의 구성 요소는 null 값을 확인하고

가 DARK_DUCK 이미 언급 한 바와 같이이

3

희망이 도움 (값이 비공개라는 것을 나타 내기 위해 예를 들어 잠금) 원하는 표시 : 당신이 반환을 결정할 것 귀하의 GraphQL 서버 측 스키마에서 속성의 해결 방법에 특정 사용자.

사용자 인증을 위해 필요한 데이터를 쿠키에 저장합니다. 그런 다음이 인증 데이터를 루트 값의 GraphQL 스키마로 전달합니다. 개인 사용자 데이터의 해결 방법에서는 액세스 권한을 확인하고 적절한 데이터 (null 또는 실제 데이터)를 반환합니다.

릴레이 및 그래프 SQL을 사용하여 인증 및 개인 데이터를 처리하는 방법에 대한 간단한 예제 저장소를 만들었습니다. 자세한 예제는 this file 및 posts 속성을 참조하십시오.

관련 문제