--- /dev/null
+# νμ¬ μ¬μ©μ κ°μ Έμ€κΈ°
+
+μ΄μ μ₯μμ (μμ‘΄μ± μ£Όμ
μμ€ν
μ κΈ°λ°μΌλ‘ ν)보μ μμ€ν
μ *κ²½λ‘ μλ ν¨μ*μμ `str`λ‘ `token`μ μ 곡νμ΅λλ€:
+
+```Python hl_lines="10"
+{!../../../docs_src/security/tutorial001.py!}
+```
+
+κ·Έλ¬λ μμ§λ μ μ©νμ§ μμ΅λλ€.
+
+νμ¬ μ¬μ©μλ₯Ό μ 곡νλλ‘ ν©μλ€.
+
+## μ μ λͺ¨λΈ μμ±νκΈ°
+
+λ¨Όμ Pydantic μ μ λͺ¨λΈμ λ§λ€μ΄ λ³΄κ² μ΅λλ€.
+
+Pydanticμ μ¬μ©νμ¬ λ³Έλ¬Έμ μ μΈνλ κ²κ³Ό κ°μ λ°©μμΌλ‘ λ€λ₯Έ κ³³μμ μ¬μ©ν μ μμ΅λλ€.
+
+=== "νμ΄μ¬ 3.7 μ΄μ"
+
+ ```Python hl_lines="5 12-16"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="3 10-14"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## `get_current_user` μμ‘΄μ± μμ±νκΈ°
+
+μμ‘΄μ± `get_current_user`λ₯Ό λ§λ€μ΄ λ΄
μλ€.
+
+μμ‘΄μ±μ΄ νμ μμ‘΄μ±μ κ°μ§ μ μλ€λ κ²μ κΈ°μ΅νμλκΉ?
+
+`get_current_user`λ μ΄μ μ μμ±ν κ²κ³Ό λμΌν `oauth2_scheme`κ³Ό μ’
μμ±μ κ°κ² λ©λλ€.
+
+μ΄μ μ *κ²½λ‘ λμ*μμ μ§μ μννλ κ²κ³Ό λμΌνκ² μ μ’
μμ± `get_current_user`λ νμ μ’
μμ± `oauth2_scheme`μμ `str`λ‘ `token`μ μμ ν©λλ€.
+
+=== "νμ΄μ¬ 3.7 μ΄μ"
+
+ ```Python hl_lines="25"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="23"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## μ μ κ°μ Έμ€κΈ°
+
+`get_current_user`λ ν ν°μ `str`λ‘ μ·¨νκ³ Pydantic `User` λͺ¨λΈμ λ°ννλ μ°λ¦¬κ° λ§λ (κ°μ§) μ νΈλ¦¬ν° ν¨μλ₯Ό μ¬μ©ν©λλ€.
+
+=== "νμ΄μ¬ 3.7 μ΄μ"
+
+ ```Python hl_lines="19-22 26-27"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="17-20 24-25"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## νμ¬ μ μ μ£Όμ
νκΈ°
+
+μ΄μ *κ²½λ‘ μλ*μμ `get_current_user`μ λμΌν `Depends`λ₯Ό μ¬μ©ν μ μμ΅λλ€.
+
+=== "νμ΄μ¬ 3.7 μ΄μ"
+
+ ```Python hl_lines="31"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="29"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+Pydantic λͺ¨λΈμΈ `User`λ‘ `current_user`μ νμ
μ μ μΈνλ κ²μ μμμΌ ν©λλ€.
+
+μ΄κ²μ λͺ¨λ μλ£ λ° νμ
κ²μ¬λ₯Ό ν΅ν΄ ν¨μ λ΄λΆμμ μ°λ¦¬λ₯Ό λμΈ κ²μ
λλ€.
+
+!!! ν
+ μμ² λ³Έλ¬Έλ Pydantic λͺ¨λΈλ‘ μ μΈλλ€λ κ²μ κΈ°μ΅ν κ²μ
λλ€.
+
+ μ¬κΈ°μ **FastAPI**λ `Depends`λ₯Ό μ¬μ©νκ³ μκΈ° λλ¬Έμ νΌλλμ§ μμ΅λλ€.
+
+!!! νμΈ
+ μ΄ μμ‘΄μ± μμ€ν
μ΄ μ€κ³λ λ°©μμ λͺ¨λ `User` λͺ¨λΈμ λ°ννλ λ€μν μμ‘΄μ±(λ€λ₯Έ "μμ‘΄μ μΈ")μ κ°μ§ μ μλλ‘ ν©λλ€.
+
+ ν΄λΉ νμ
μ λ°μ΄ν°λ₯Ό λ°νν μ μλ μμ‘΄μ±μ΄ νλλ§ μλ κ²μΌλ‘ μ νλμ§ μμ΅λλ€.
+
+## λ€λ₯Έ λͺ¨λΈ
+
+μ΄μ *κ²½λ‘ μλ ν¨μ*μμ νμ¬ μ¬μ©μλ₯Ό μ§μ κ°μ Έμ¬ μ μμΌλ©° `Depends`λ₯Ό μ¬μ©νμ¬ **μμ‘΄μ± μ£Όμ
** μμ€μμ 보μ λ©μ»€λμ¦μ μ²λ¦¬ν μ μμ΅λλ€.
+
+κ·Έλ¦¬κ³ λ³΄μ μꡬ μ¬νμ λν λͺ¨λ λͺ¨λΈ λλ λ°μ΄ν°λ₯Ό μ¬μ©ν μ μμ΅λλ€(μ΄ κ²½μ° Pydantic λͺ¨λΈ `User`).
+
+κ·Έλ¬λ μΌλΆ νΉμ λ°μ΄ν° λͺ¨λΈ, ν΄λμ€ λλ νμ
μ μ¬μ©νλλ‘ μ νλμ§ μμ΅λλ€.
+
+λͺ¨λΈμ `id`μ `email`μ΄ μκ³ `username`μ΄ μκΈΈ μνμλκΉ? λ§μ΅λλ€. μ΄λ€μ λμΌν λꡬλ₯Ό μ¬μ©ν μ μμ΅λλ€.
+
+`str`λ§ κ°κ³ μΆμ΅λκΉ? μλλ©΄ κ·Έλ₯ `dict`λ₯Ό κ°κ³ μΆμ΅λκΉ? μλλ©΄ λ°μ΄ν°λ² μ΄μ€ ν΄λμ€ λͺ¨λΈ μΈμ€ν΄μ€λ₯Ό μ§μ κ°κ³ μΆμ΅λκΉ? κ·Έλ€μ λͺ¨λ κ°μ λ°©μμΌλ‘ μλν©λλ€.
+
+μ€μ λ‘ μ ν리μΌμ΄μ
μ λ‘κ·ΈμΈνλ μ¬μ©μκ° μμ§λ§ μ‘μΈμ€ ν ν°λ§ μλ λ‘λ΄, λ΄ λλ κΈ°ν μμ€ν
μ΄ μμ΅λκΉ? λ€μ λ§νμ§λ§ λͺ¨λ λμΌνκ² μλν©λλ€.
+
+μ ν리μΌμ΄μ
μ νμν λͺ¨λ μ’
λ₯μ λͺ¨λΈ, λͺ¨λ μ’
λ₯μ ν΄λμ€, λͺ¨λ μ’
λ₯μ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμμμ€. **FastAPI**λ μμ‘΄μ± μ£Όμ
μμ€ν
μ λ€λ£¨μμ΅λλ€.
+
+## μ½λ μ¬μ΄μ¦
+
+μ΄ μλ μ₯ν©ν΄ λ³΄μΌ μ μμ΅λλ€. λμΌν νμΌμμ 보μ, λ°μ΄ν° λͺ¨λΈ, μ νΈλ¦¬ν° κΈ°λ₯ λ° *κ²½λ‘ μλ*μ νΌν©νκ³ μμμ μΌλμ λμμμ€.
+
+κ·Έλ¬λ μ΄κ² ν€ν¬μΈνΈμ
λλ€.
+
+보μκ³Ό μ’
μμ± μ£Όμ
νλͺ©μ ν λ²λ§ μμ±νλ©΄ λ©λλ€.
+
+κ·Έλ¦¬κ³ μνλ λ§νΌ 볡μ‘νκ² λ§λ€ μ μμ΅λλ€. κ·Έλλ μ μ°μ±κ³Ό ν¨κ» ν κ³³μ ν λ²μ μμ±ν μ μμ΅λλ€.
+
+κ·Έλ¬λ λμΌν 보μ μμ€ν
μ μ¬μ©νμ¬ μμ² κ°μ μλν¬μΈνΈ(*κ²½λ‘ μλ*)λ₯Ό κ°μ§ μ μμ΅λλ€.
+
+κ·Έλ¦¬κ³ κ·Έλ€ λͺ¨λ(λλ μνλ λΆλΆ)λ μ΄λ¬ν μμ‘΄μ± λλ μμ±ν λ€λ₯Έ μμ‘΄μ±μ μ¬μ¬μ©νλ μ΄μ μ μ»μ μ μμ΅λλ€.
+
+κ·Έλ¦¬κ³ μ΄ μμ² κ°μ *κ²½λ‘ μλ*μ λͺ¨λ 3μ€ μ λλ‘ μ€μΌ μ μμ΅λλ€.
+
+=== "νμ΄μ¬ 3.7 μ΄μ"
+
+ ```Python hl_lines="30-32"
+ {!> ../../../docs_src/security/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="28-30"
+ {!> ../../../docs_src/security/tutorial002_py310.py!}
+ ```
+
+## μμ½
+
+μ΄μ *κ²½λ‘ μλ ν¨μ*μμ νμ¬ μ¬μ©μλ₯Ό μ§μ κ°μ Έμ¬ μ μμ΅λλ€.
+
+μ°λ¦¬λ μ΄λ―Έ μ΄λ€ μ¬μ΄μ μμ΅λλ€.
+
+μ¬μ©μ/ν΄λΌμ΄μΈνΈκ° μ€μ λ‘ `username`κ³Ό `password`λ₯Ό 보λ΄λ €λ©΄ *κ²½λ‘ μλ*μ μΆκ°νκΈ°λ§ νλ©΄ λ©λλ€.
+
+λ€μ μ₯μ νμΈν΄ λ΄
μλ€.