+
    ]Pîi>  ã                  óv   € R t ^ RIHt ^ RIHtHtHt ^ RIHtH	t	 ^ RI
HtHt ]	! 4       t]! ]4      3R R lltR# )uJ   
middleware/auth_middleware.py â€” JWT token extractor for FastAPI routes
)Úannotations)ÚDependsÚHTTPExceptionÚstatus)ÚHTTPAuthorizationCredentialsÚ
HTTPBearer)Údecode_tokenÚget_candidatec               ó    € V ^8„  d   QhRRRR/# )é   Úcredentialsr   ÚreturnÚdict© )Úformats   "Ú?D:\Python_Codes\gen_ai\people_hub\middleware\auth_middleware.pyÚ__annotate__r      s   € ÷ ñ Ø-ðà	ñó    c                óê   € V P                   p\        V4      pV'       g   \        \        P                  RRR/R7      h\        VR,          4      pV'       g   \        \        P                  RR7      hV# )zh
FastAPI dependency. Extracts and validates the Bearer JWT.
Returns the candidate dict from users.json.
z.Invalid or expired token. Please log in again.zWWW-AuthenticateÚBearer)Ústatus_codeÚdetailÚheadersÚsubzCandidate not found.)r   r   )r   r   r   r   ÚHTTP_401_UNAUTHORIZEDr	   ÚHTTP_404_NOT_FOUND)r   ÚtokenÚpayloadÚ	candidates   &   r   Úget_current_candidater      sq   € ð ×%Ñ%€EÜ˜5Ó!€GçÜÜ×4Ñ4ØCØ'¨Ð2ô
ð 	
ô ˜g e�nÓ-€IßÜÜ×1Ñ1Ø)ô
ð 	
ð Ðr   N)Ú__doc__Ú
__future__r   Úfastapir   r   r   Úfastapi.securityr   r   Úservices.auth_servicer   r	   Ú_bearerr   r   r   r   Ú<module>r&      s6   ðñõ #ß 2Ñ 2ß Eß =á
‹,€ñ 18¸Ó0@÷ñ r   