Files
hms-licht-ton/backend/app/__pycache__/auth.cpython-313.pyc
T

26 lines
3.9 KiB
Plaintext
Raw Normal View History

ó
ÞNj
ãó>SrSSKJrJrJr SSKJr SSKJrJr SSK J
r
SSK J r J
r
JrJr SSKJr SSKJr SS KJr SS
KJr SS KJr \"5r\
"S /S
S9rS\S\S\4SjrS\S\4SjrSS\ S\S-S\4Sjjr!S\S\ S-4Sjr"\ "\54S\S\S\4Sjjr#g)zJWT authentication helpers.é)ÚdatetimeÚ timedeltaÚtimezone)ÚOptional)ÚJWTErrorÚjwt)Ú CryptContext)ÚDependsÚ
HTTPExceptionÚstatusÚRequest)Ú AsyncSession)Úselect)Ú get_settings)Úget_db)Ú AdminUserÚbcryptÚauto)ÚschemesÚ
deprecatedÚplain_passwordÚhashed_passwordÚreturncó,[RX5$)z'Verify a plain password against a hash.)Ú pwd_contextÚverify)rrs Ú5/a0/usr/workdir/hms-licht-ton-t04/backend/app/auth.pyÚverify_passwordrsä × Ñ ˜ Úpasswordcó,[RU5$)zHash a password using bcrypt.)rÚhash)r s rÚget_password_hashr#sä × Ñ ˜ %rdataÚ
expires_deltacó6UR5n[R"[R5U=(d [ [ RS9-nURSU05 [R"U[ R[ RS9$)zCreate a JWT access token.)ÚhoursÚexp)Ú algorithm)
ÚcopyrÚnowrÚutcrÚsettingsÚjwt_expire_hoursÚupdaterÚencodeÚ
jwt_secretÚ
jwt_algorithm)r$r%Ú to_encodeÚexpires rÚcreate_access_tokenr5sjà— ‘ “ €IÜ
\Š\œ(Ÿ,™,Ó
׬×)BÑ)BÑ€Fð×Ñe˜V :Š:×!4Ñ!4Ä×@VÑ@VÑ WrÚtokencóŽ[R"U[R[R/S9nU$![
a gf=f)z*Verify a JWT token and return its payload.)Ú
algorithmsN)rÚdecoder-r1r2r)r6Úpayloads rÚ verify_tokenr;&s?ðÜ—**˜U¤H×$7Ñ$7ÄX×E[ÑE[ÐD\ÑØˆøÜ óÙðús‚47·
AÁAÚrequestÚdbcƒó$# URRS5nU(d[[RSS9e[ U5nU(d[[RSS9eURS5nU(d[[RSS9eUR
[[5R[RU:H55IShvN nUR5nU(d[[RSS9eU$N57f) z>Dependency: extract JWT from cookie, verify, return AdminUser.Úhms_admin_tokenzNot authenticated)Ú status_codeÚdetailzInvalid or expired tokenÚsubzInvalid token payloadNzUser not found) ÚcookiesÚgetr r ÚHTTP_401_UNAUTHORIZEDr;ÚexecuterrÚwhereÚusernameÚscalar_one_or_none)r<r=r6r:rHÚresultÚusers rÚget_current_userrL/éð
O‰O× Ñ Ð 1Ó 2€EÞ ÜÜ×
ð