๐โโ¶
๐ค ๐ ๐ ๐ต ๐โโ, ๐ค & โ.
& โซ๏ธ ๐ ๐ & "โ " โ.
๐ ๐ ๏ธ & โ๏ธ ๐ต ๐โโ & ๐ค โ ๐ฆ ๐ธ ๐ฏ & ๐ (๐ ๐ผ โซ๏ธ ๐ช 5๏ธโฃ0๏ธโฃ ๐ฏ โ๏ธ ๐ ๐ ๐ โ).
FastAPI ๐ ๐ ๐งฐ โน ๐ ๐ โฎ๏ธ ๐โโ ๐ช, ๐, ๐ฉ ๐, ๐ต โ๏ธ ๐ฌ & ๐ก ๐ ๐โโ ๐ง.
โ๏ธ ๐ฅ, โก๏ธ โ ๐คช ๐ง.
๐ โ¶
๐ฅ ๐ ๐ซ ๐ ๐ ๐ ๐ โ & ๐ ๐ช ๐ฎ ๐โโ โฎ๏ธ ๐ค โ๏ธ ๐ ๐ & ๐ โถ๏ธ๏ธ ๐, ๐ถ โญ ๐.
Oauth2๏ธโฃ¶
Oauth2๏ธโฃ ๐ง ๐ ๐ฌ ๐ ๐ ๐ต ๐ค & โ.
โซ๏ธ ๐ฌ ๐ง & ๐ ๐ ๐ โ๏ธ ๐ผ.
โซ๏ธ ๐ ๐ ๐ โ๏ธ "๐ฅ ๐ฅณ".
๐ โซ๏ธโ ๐ โ๏ธ โฎ๏ธ "๐ณ โฎ๏ธ ๐ฑ๐, ๐บ๐ธ๐, ๐ฑ๐, ๐" โ๏ธ ๐.
โณ 1๏ธโฃ¶
๐ค โณ 1๏ธโฃ, โ ๐ถ ๐ โช๏ธโก๏ธ Oauth2๏ธโฃ, & ๐ ๐, โซ๏ธ ๐ ๐ ๐ง ๐ โ ๐ ๐ป.
โซ๏ธ ๐ซ ๐ถ ๐ โ๏ธ โ๏ธ ๐.
Oauth2๏ธโฃ ๐ซ โ โ ๐ ๐ป, โซ๏ธ โ ๐ โ๏ธ ๐ ๐ธ ๐ฆ โฎ๏ธ ๐บ๐ธ๐.
Tip
๐ ๐ ๐ ๏ธ ๐ ๐ ๐ โ โ ๐ ๐บ๐ธ๐ ๐, โ๏ธ Traefik & โก๏ธ ๐.
๐ฉโ๐ป ๐¶
๐ฉโ๐ป ๐ โ1๏ธโฃ ๐ง, ๐งข ๐ Oauth2๏ธโฃ.
โซ๏ธ โ Oauth2๏ธโฃ โ ๐ ๐ ๐ถ ๐ Oauth2๏ธโฃ, ๐ โ โซ๏ธ ๐ ๐ ๏ธ.
๐ผ, ๐บ๐ธ๐ ๐ณ โ๏ธ ๐ฉโ๐ป ๐ (โ ๐ โ๏ธ Oauth2๏ธโฃ).
โ๏ธ ๐ฑ๐ ๐ณ ๐ซ ๐โ๐ฆบ ๐ฉโ๐ป ๐. โซ๏ธ โ๏ธ ๐ฎ ๐ ๐ Oauth2๏ธโฃ.
๐ฉโ๐ป (๐ซ "๐ฉโ๐ป ๐")¶
๐ค "๐ฉโ๐ป" ๐ง. ๐ ๐ โ ๐ ๐ ๐ฉโ๐ป ๐, โ๏ธ ๐ซ โ๏ธ ๐ Oauth2๏ธโฃ.
, โซ๏ธ ๐ ๐ โ๏ธ.
โซ๏ธ ๐ซ ๐ถ ๐ โ๏ธ โ๏ธ ๐.
๐¶
๐ (โช ๐ญ ๐ฆ) ๐ ๐ง ๐ ๐ (๐ ๐ ๐พ ๐).
FastAPI โ๏ธ ๐ ๐.
๐ โซ๏ธโ โ โซ๏ธ ๐ช โ๏ธ ๐ ๐ง ๐ ๐งพ ๐ข, ๐ โก, โ๏ธ.
๐ โ๏ธ ๐ ๐ฌ ๐ ๐โโ "โ".
โ๏ธ ๐ซ, ๐ ๐ช โ ๐ ๐ ๐ซ ๐ฉ-โ๏ธ ๐งฐ, ๐ ๐ ๐ ๐งพ โ๏ธ.
๐ ๐ฌ ๐ ๐โโ โ:
apiKey
: ๐ธ ๐ฏ ๐ ๐ ๐ช ๐ โช๏ธโก๏ธ:- ๐ข ๐ข.
- ๐.
- ๐ช.
http
: ๐ฉ ๐บ๐ธ๐ ๐ค โ๏ธ, ๐:bearer
: ๐Authorization
โฎ๏ธ ๐ฒBearer
โ ๐ค. ๐ ๐ โช๏ธโก๏ธ Oauth2๏ธโฃ.- ๐บ๐ธ๐ ๐ฐ ๐ค.
- ๐บ๐ธ๐ ๐ฐ, โ๏ธ.
oauth2
: ๐ Oauth2๏ธโฃ ๐ ๐ต ๐โโ (๐ค "๐ง").- ๐ ๐ซ ๐ง โ ๐ โณ 2๏ธโฃ.0๏ธโฃ ๐ค ๐โ๐ฆบ (๐ ๐บ๐ธ๐, ๐ฑ๐, ๐ฑ๐, ๐, โ๏ธ):
implicit
clientCredentials
authorizationCode
- โ๏ธ ๐ค 1๏ธโฃ ๐ฏ "๐ง" ๐ ๐ช ๐ โ๏ธ ๐ ๐ค ๐ ๐ธ ๐:
password
: โญ ๐ ๐ ๐ ๐ผ ๐.
- ๐ ๐ซ ๐ง โ ๐ โณ 2๏ธโฃ.0๏ธโฃ ๐ค ๐โ๐ฆบ (๐ ๐บ๐ธ๐, ๐ฑ๐, ๐ฑ๐, ๐, โ๏ธ):
openIdConnect
: โ๏ธ ๐ ๐ฌ โ ๐ Oauth2๏ธโฃ ๐ค ๐ ๐.- ๐ ๐ง ๐ โซ๏ธโ ๐ฌ ๐ฉโ๐ป ๐ ๐ง.
Tip
๐ ๏ธ ๐ ๐ค/โ ๐โ๐ฆบ ๐ ๐บ๐ธ๐, ๐ฑ๐, ๐ฑ๐, ๐, โ๏ธ. ๐ช & ๐ถ โฉ.
๐ ๐ โ ๐ ๐ค/โ ๐โ๐ฆบ ๐ ๐, โ๏ธ FastAPI ๐ค ๐ ๐งฐ โซ๏ธ ๐ช, โช ๐จ ๐๏ธ ๐โโ ๐.
FastAPI ๐¶
FastAPI ๐ ๐ ๐งฐ ๐ ๐ ๐โโ โ fastapi.security
๐น ๐ ๐ โ๏ธ ๐ ๐โโ ๐ ๏ธ.
โญ ๐ ๐ ๐ ๐ โ ๐ฎ ๐โโ ๐ ๐ ๏ธ โ๏ธ ๐ ๐งฐ ๐ FastAPI.
& ๐ ๐ ๐ โ โซ๏ธ ๐ค ๐ ๐ ๏ธ ๐ ๐ ๐งพ โ๏ธ.