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

개요

멱등성 관련 : 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 Syntax:<br />
== authentication setting ==<br />
ResourceClient -> ResourceClient : when(deploy) generate ppk<br />
ResourceClient -> AuthDirector : send public key and target(ResourceProvider)<br />
AuthDirector -> ResourceProvider : push public key<br />
ResourceProvider -> AuthDirector : response success/fail<br />
AuthDirector -> ResourceClient : response success/fail</p>
<p>== call resource ==<br />
ResourceClient -> ResourceProvider : call resource with JWT<br />
ResourceProvider -> ResourceClient : response resource<br />

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available