다들 authorization 처리는 어떻게 하시나요?? graphql-shield가 TS...
# 잡담
t
다들 authorization 처리는 어떻게 하시나요?? graphql-shield가 TS 타이핑이 잘 안되고 퍼포먼스 이슈가 있어보여서… 어떻게 해야하나 (라이브러리를 새로 만들어야하나…) 고민중이에요
👀 1
Production Ready GraphQL에는 directive 사용한 방법이 나오는데, 이걸 기본적으로 사용할거같구요
다만, 예를 들면 updateArticle이라는 Mutation이 있다면, 해당 Article 수정 권한을 context.me가 가지고 있는지 체크해서… 처리하고 싶은데, 이런 상황에 어찌해야될지 고민중입니다.
h
shield가 잘하면 타이핑이 어렵지 않게 할 여지가 있긴 한데 (generated type 을 파라미터로 넘겨서) 좀 서커스가 필요하겠네요
퍼포먼스 이슈는 어떤걸까요 👀
일단 role based 리소스 접근 제어 하는 경우에는 필드를 다 쉽게 조회할 수 있도록 풀어두는게 간단한 것 같고
(리소스 기반이 아닌경우)
가령 User.roles: [String!]! 이라던가
디렉티브 기반이라고 하셨으니 info 를 보면 판단 가능하겠네요
사실 mutation 마다 제어가 필요한지 모르겠고, mutation 은 mutate하고 싶은 녀석을 body에 들고있을 테니 거기 디렉티브가 있으면 쉽게 판단 가능하지 않을까욤
Copy code
mutation {
  updateArticle(input: { ... }) {
    ...Article @role(has: "updateArticle")
  }
}
t
https://github.com/maticzav/graphql-shield/issues/812 이런 이슈가 있어요. graphql-middleware 쪽 문제인거같은데 메인테이너가 약간 무책임함…
I don’t think there’s an easy solution to this problem and I don’t have the time capacity at the moment to rewrite 
graphql-shield
. Thank you for posting benchmarks. For now, I cannot promise much.
h
솔직하네요 ㅋㅋ
zzzz 1
t
힘드신가바여 ㅋㅋㅋ
h
남일같지가 않군요 ㅠ