FastAPI ਵਿੱਚ JWT Authentication

Authentication ਪੁੱਛਦਾ ਹੈ "ਤੁਸੀਂ ਕੌਣ ਹੋ?" Authorization ਪੁੱਛਦਾ ਹੈ "ਤੁਸੀਂ ਕੀ ਕਰ ਸਕਦੇ ਹੋ?"

ਜੇਕਰ ਤੁਸੀਂ ਸੁਰੱਖਿਆ ਤੋਂ ਬਿਨਾਂ ਕੋਈ AI ਪਲੇਟਫਾਰਮ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਕੋਈ ਵੀ ਨਿੱਜੀ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ। ਉਹ ਯੂਜ਼ਰ ਪ੍ਰੋਫਾਈਲਾਂ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹਨ ਜਾਂ ਵਿਦਿਆਰਥੀਆਂ ਦੀ ਪ੍ਰਗਤੀ ਦੇਖ ਸਕਦੇ ਹਨ। ਤੁਹਾਨੂੰ ਆਪਣੇ ਸਰੋਤਾਂ ਦੀ ਰੱਖਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।

JWT (JSON Web Token) ਇਸਦਾ ਹੱਲ ਕਰਦਾ ਹੈ। ਹਰ ਰਿਕਵੈਸਟ ਦੇ ਨਾਲ ਪਾਸਵਰਡ ਭੇਜਣ ਦੀ ਬਜਾਏ, ਯੂਜ਼ਰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਟੋਕਨ ਭੇਜਦਾ ਹੈ।

ਵਰਕਫਲੋ (Workflow):

ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ:

ਪਾਸਵਰਡ ਨੂੰ ਕਦੇ ਵੀ ਪਲੇਨ ਟੈਕਸਟ (plain text) ਵਿੱਚ ਸਟੋਰ ਨਾ ਕਰੋ। ਜੇਕਰ ਕੋਈ ਹੈਕਰ ਤੁਹਾਡਾ ਡੇਟਾਬੇਸ ਚੋਰੀ ਕਰ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਸਭ ਕੁਝ ਮਿਲ ਜਾਵੇਗਾ। ਇਸਦੀ ਬਜਾਏ, ਇੱਕ ਹੈਸ਼ ਸਟੋਰ ਕਰੋ।

ਇੱਕ ਹੈਸ਼ "password123" ਨੂੰ ਰੈਂਡਮ ਅੱਖਰਾਂ ਦੀ ਇੱਕ ਲੰਬੀ ਲੜੀ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਹੈਸ਼ ਨੂੰ ਵਾਪਸ ਪਾਸਵਰਡ ਵਿੱਚ ਨਹੀਂ ਬਦਲ ਸਕਦੇ। ਤੁਸੀਂ ਸਿਰਫ਼ ਇਹ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ ਕਿ ਇਨਪੁਟ ਹੈਸ਼ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।

ਇਸਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ:

  1. ਰਜਿਸਟ੍ਰੇਸ਼ਨ (Registration) ਯੂਜ਼ਰ ਇੱਕ ਯੂਜ਼ਰਨੇਮ ਅਤੇ ਪਾਸਵਰਡ ਭੇਜਦਾ ਹੈ। ਤੁਸੀਂ ਪਾਸਵਰਡ ਨੂੰ ਹੈਸ਼ ਕਰਦੇ ਹੋ ਅਤੇ ਇਸਨੂੰ ਆਪਣੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹੋ।

  2. ਲੌਗਇਨ (Login) ਯੂਜ਼ਰ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਜ਼ ਭ