API호출방법 - RESTful -> 멱등성Idempotent -> Stateless -> JWT

less than 1 minute read

개요

멱등성 관련 : http://memo.polypia.net/archives/2505

  1. RESTful API를 쓰다보면
  2. 멱등성이 필요하고..
  3. 그러려면 Stateless 해야하고
  4. 그러기위해 JWT(JSON Web Token)를 지원하면 좋다.

JWT간략

JWT참고 http://bcho.tistory.com/999 https://jwt.io/ https://blog.outsider.ne.kr/1160

Claim기반 호출

HMAC을 이용한 보안 PPK필요

PPK(PublicPrivateKey)를 이용한 API인증

[plantuml] == authentication setting == ResourceClient -> ResourceClient : when(deploy) generate ppk ResourceClient -> AuthDirector : send public key and target(ResourceProvider) AuthDirector -> ResourceProvider : push public key ResourceProvider -> AuthDirector : response success/fail AuthDirector -> ResourceClient : response success/fail

== call resource == ResourceClient -> ResourceProvider : call resource with JWT ResourceProvider -> ResourceClient : response resource [/plantuml]

JWT을 적용해서 쓴다면 대략이정도 느낌이 되면 될것같다. gradle, maven 테스트, 배포 타이밍에 적절한 조치가 필요할 것 같다.

local에서 할 때는 auth가 제역할을 못해줄 것 같으니

auth서버도 push를 하려면 ppk(auth-ppk)가 있어야하고 ResourceProvider은 auth-ppk(public key)를 가지고 있어야한다.

종이에 그릴땐 간단해보였는데 다시보니 좀 복잡해보인다. 좀 더 간소화 필요.

Tags: ,

Categories:

Updated: