ਇੱਕ REST API ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦਾ ਮਤਲਬ ਹੈ ਹਰ request 'ਤੇ ਤਿੰਨ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇਣਾ: ਤੁਸੀਂ ਕੌਣ ਹੋ (authentication), ਤੁਹਾਨੂੰ ਕੀ ਕਰਨ ਦੀ ਆਗਿਆ ਹੈ (authorization), ਅਤੇ ਕੀ channel ਨਿੱਜੀ ਹੈ (transport)। ਕਿਉਂਕਿ REST stateless ਹੈ, credentials ਨੂੰ ਇੱਕ server session ਵਿੱਚ ਰਹਿਣ ਦੀ ਬਜਾਏ ਹਰ request ਨਾਲ ਸਫ਼ਰ ਕਰਨਾ ਪੈਂਦਾ ਹੈ।
Transport: ਹਮੇਸ਼ਾ HTTPS
ਹੇਠਾਂ ਸਭ ਕੁਝ ਮੰਨਦਾ ਹੈ। ਇਸ ਬਿਨਾਂ, tokens ਅਤੇ API keys plaintext ਵਿੱਚ ਸਫ਼ਰ ਕਰਦੇ ਹਨ ਅਤੇ sniff ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਇਹ ਗ਼ੈਰ-ਸਮਝੌਤਾਯੋਗ ਹੈ — HTTP ਉੱਤੇ ਇੱਕ bearer token ਇੱਕ leaked token ਹੈ।
