Specification - nl-seoultech/tento-server GitHub Wiki

/login/

POST /login/

μ‚¬μš©μžμ˜ 인증된 토큰을 κ°€μ Έμ˜΅λ‹ˆλ‹€. 인증 토큰을 λ§Œλ“€λ•ŒλŠ” expired_atκ³Ό μ‚¬μš©μžμ˜ idλ₯Ό μ΄μš©ν•΄μ„œ μƒμ„±ν•˜λ©΄λ©λ‹ˆλ‹€. itsdangerous의 itsdangerous.JSONWebSignature둜 λ§Œλ“€λ©΄λ κ²ƒκ°™μŠ΅λ‹ˆλ‹€.

  • request
POST /login/ HTTP/1.1
Host: tento.com
Accept: application/json
  • response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "user": {
    "id": 1,
    "email": "[email protected]",
    "name": "admire9"
  },
  "token": "eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVkX2F0IjoxMjMxMjMsInVzZXJfaWQiOjF9.0o-Y7oOlvYgN8BH0MxszXoX1iwVf4YNx2sks_s03_KY"
}

/users/

GET /users/<int:id>/

<int:id> 번 μœ μ €μ˜ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€. itsdangerous.JSONWebSignature.loads둜 토큰을 κ°€μ Έμ˜¬λ•Œ, μ‘°μž‘λœ 토큰이 λ„˜μ–΄μ˜¬κ²½μš° itsdangerous.BadSignature μ—λŸ¬κ°€ λ‚˜λ―€λ‘œ 이것을 μ΄μš©ν•΄μ„œ μ˜ˆμ™Έ 처리λ₯Ό ν•˜λ©΄λ κ±°κ°™μŠ΅λ‹ˆλ‹€.

  • query params
    • token: μ‚¬μš©μž 인증 토큰
  • request
GET /users/1/?token=eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVkX2F0IjoxMjMxMjMsInVzZXJfaWQiOjF9.0o-Y7oOlvYgN8BH0MxszXoX1iwVf4YNx2sks_s03_KY HTTP/1.1
Host: tento.com
Accept: application/json
  • response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "email": "[email protected]",
  "name": "admire9"
}

POST /users/

μ‚¬μš©μžλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

  • form params
    • email: μ‚¬μš©μžμ˜ 이메일
    • password: μ‚¬μš©μžμ˜ λΉ„λ°€λ²ˆν˜Έ
  • request
POST /users/ HTTP/1.1
Host: tento.com
Accept: application/json

[email protected]&password=abcdef

λ˜λŠ” 

POST /users/ HTTP/1.1
Host: tento.com
Accept: application/json
Content-Type: application/json

{
  "email": "[email protected]",
  "password": "abcdef"
}
  • response
HTTP/1.1 201 CREATED
Content-Type: application/json

{
  "id": 1,
  "email": "[email protected]",
  "name": "admire9"
}
⚠️ **GitHub.com Fallback** ⚠️