Spring_GTX
131
2018-07-12 23:09:14
7
176

rest api 서버 사용하는 client... 보안 문제 질문드립니다.


jpa를 활용하는 crud용 rest api 서버와

spring security를 사용하고 rest api를 활용하는 클라이언트가 따로 있습니다.


이때 클라이언트에서 요청을 할 때 서버에서는 각 crud에 대한 권한을 어떻게 확인하나요?

로그인 되어있는지 유무와 로그인된 사용자의 권한을 체크하고싶은데

서버와 클라이언트간에 확인 할 수 있는 방법이 있을까요?;,,,,

클라이언트에서 로그인했다해서 서버에서 로그인된게 아닐텐데 말이죠,,,

고수님들 궁금증 해결 부탁드립니다!

0
0
  • 답변 7

  • 폭행몬스터
    97
    2018-07-12 23:20:55

    보통 OAuth2.0 사용합니다. 토큰 사용방식은 다양합니다.

    0
  • Spring_GTX
    131
    2018-07-12 23:28:49 작성 2018-07-12 23:45:15 수정됨

    폭행몬스터

    oauth2, mutumutual ssl 등이 있다는 것은 알고는 있습니다만,

    사용하기 쉽다는게 oauth2라는데 rest api 서버에서 에서 oauth2 를 구현하고

    클라이언트에서는 개별적인 시큐리티를 사용하여 로그인 하지 않고

    처음부터 서버측 oauth2를 사용해야하는게 아닌가요?;


    제가 원하는 것은 클라이언트들이 몇개든 개별적인 로그인 환경을 구축하고

    rest api 서버와는 개별로 보안을 구축하고싶습니다...

    이유는 rest 서버가 다수 있고 client도 다수있습니다;;.....

    1번 클라이언트가 1, 3번 rest 서버를 사용하고

    2번 클라이언트가 1,2 번 서버 사용

    이런식으로 구성 되도록 했습니다..


    정 안된다면 클라이언트들이 개별로 로그인을 할 때 사용할 rest 서버측과 oauth2에

    다시한번 로그인하도록? 해서 내부적으로 이중 로그인 접근을 해야하는건지...

    조언이 필요합니다,,,ㅜ

    0
  • 삽삽
    30
    2018-07-13 07:23:07

    제가 질문을 이해를 잘못한건지는 모르겠는데 토큰 방식이면 한 클라이언트에서 여러 서버로 접속하는데 전혀 문제없는거아닌가요? stateless 한게 토큰방식의 가장 큰 특징이라 생각합니다.

    0
  • 더미
    9k
    2018-07-13 09:52:15

    sso 알아보세요

    0
  • Spring_GTX
    131
    2018-07-13 14:38:10

     

    rest api server 여러개라면 클라이언트에서는 여러개의 서버의 토큰값을 여러개 다 가져야 하지 않나요?;

    oauth2를 사용한다면 하나의 토큰값으로 rest api 서버'들' 에 접근 가능했으면 합니다...

    0
  • 삽삽
    30
    2018-07-13 21:55:49
    어짜피 토큰방식은 클럽처럼 팔목에 통행권두르고 입장할때마다 기도가 체크하는거랑 똑같습니다. 가끔 연합클럽데이 같은거하면 a클럽 입장권으로 b클럽도 통과시켜주기도하고 그러지않습니까. 어떤라이브러리가 어떻게 기술적으로 지원해주는지는 잘모르겠습니다만 이론적으로는 구현가능할거같네요.
    0
  • 폭행몬스터
    97
    2018-07-13 23:33:28

    꼭 하나의 토큰을 사용해야 하나요?

    서버들간 secret을 공유하면 하나의 토큰으로 사용가능합니다만 유저의 편의를 위해 서버의 보안을 버리는 경우가 되겠네요.

    유저가 처음 로그인 할 때 클라이언트 내부적으로 여러번의 요청을 통해 다수의 토큰을 발급받아 놓고, 각 서버마다 어떤 토큰을 사용할지 client_id를 key로 저장해놓으세요.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.