-
-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π Add Korean translation for `docs/ko/docs/tutorial/security/get-currβ¦
β¦ent-user.md` (#5737)
- Loading branch information
1 parent
a56d32c
commit 0ec0df5
Showing
1 changed file
with
151 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
# νμ¬ μ¬μ©μ κ°μ Έμ€κΈ° | ||
|
||
μ΄μ μ₯μμ (μμ‘΄μ± μ£Όμ μμ€ν μ κΈ°λ°μΌλ‘ ν)보μ μμ€ν μ *κ²½λ‘ μλ ν¨μ*μμ `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`λ₯Ό 보λ΄λ €λ©΄ *κ²½λ‘ μλ*μ μΆκ°νκΈ°λ§ νλ©΄ λ©λλ€. | ||
|
||
λ€μ μ₯μ νμΈν΄ λ΄ μλ€. |