ਵਰਤੋਂਕਾਰ “ਸਾਈਨ ਇਨ” ਕਲਿੱਕ ਕਰਦਾ ਹੈ, ਪ੍ਰਦਾਤਾ ਦੇ ਪੰਨੇ ਉੱਤੇ ਪਹੁੰਚਦਾ ਹੈ ਅਤੇ Rails ਉੱਤੇ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ। ਅਗਲਾ ਕਦਮ ਫਿਰ ਵੀ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ Rails ਸਰਵਰ ਤੋਂ ਨਵਾਂ ਕਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।

browser → provider authorization page → browser callback to Rails
Rails   → provider token endpoint → Rails

ਬ੍ਰਾਊਜ਼ਰ ਆਪਣੀ ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਨਾਲ ਅਧਿਕਾਰ ਰੀਡਾਇਰੈਕਟ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। Rails ਸਥਾਪਿਤ OmniAuth ਰਣਨੀਤੀ ਵੱਲੋਂ ਚੁਣੇ HTTP ਕਲਾਇੰਟ ਨਾਲ ਬੈਕਚੈਨਲ ਟੋਕਨ ਬਦਲ ਕਰਦਾ ਹੈ। ਕਾਰਪੋਰੇਟ ਪ੍ਰੌਕਸੀ ਪਿੱਛੇ ਚੱਲਣ ਵਾਲੇ ਵਰਕਰ ਨੂੰ ਪ੍ਰਦਾਤਾ ਵੱਲ ਦੀਆਂ ਬੇਨਤੀਆਂ ਉੱਤੇ ਉਹ ਮਾਰਗ ਚਾਹੀਦਾ ਹੈ।

OAuth 1.0 ਵਿੱਚ ਵੀ ਵਰਤੋਂਕਾਰ ਦੇ ਪਹੁੰਚ ਅਧਿਕਾਰਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਰਵਰ ਪਾਸੇ ਬੇਨਤੀ-ਟੋਕਨ ਦਾ ਕਦਮ ਹੁੰਦਾ ਹੈ। OAuth 2.0 ਦੇ ਅਧਿਕਾਰ-ਕੋਡ ਪ੍ਰਵਾਹ ਵਿੱਚ ਕਾਲਬੈਕ ਤੋਂ ਬਾਅਦ ਆਪਣਾ ਟੋਕਨ ਬਦਲ ਹੁੰਦਾ ਹੈ। ਸਹੀ ਕ੍ਰਮ ਰਣਨੀਤੀ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਪਰ ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸਰਵਰ ਵੱਖਰੇ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਰਹਿੰਦੇ ਹਨ।

ਕਲਾਇੰਟ ਦੀ ਸੰਰਚਨਾ ਲੱਭੋ

ਰਣਨੀਤੀ ਦੀ ਪਾਲਣਾ ਉਸ HTTP ਕਲਾਇੰਟ ਤੱਕ ਕਰੋ ਜੋ ਇਸਦਾ ਟੋਕਨ ਅਤੇ ਪ੍ਰਦਾਤਾ API ਬੇਨਤੀਆਂ ਭੇਜਦਾ ਹੈ। ਉਸ ਕਲਾਇੰਟ ਦੇ ਦਸਤਾਵੇਜ਼ੀ ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਕੁਝ ਰਣਨੀਤੀਆਂ ਕਲਾਇੰਟ ਵਿਕਲਪ OAuth ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਦਿੰਦੀਆਂ ਹਨ; ਹੋਰ ਇਸਦੇ ਹੇਠਾਂ HTTP ਕਨੈਕਸ਼ਨ ਸੰਰਚਿਤ ਕਰਦੀਆਂ ਹਨ। ਇੱਕ ਰਣਨੀਤੀ ਵੱਲੋਂ ਸਵੀਕਾਰ ਕੀਤਾ ਵਿਕਲਪ ਆਪਣੇ ਆਪ ਸਾਂਝਾ OmniAuth ਵਿਕਲਪ ਨਹੀਂ ਹੁੰਦਾ।

ਪ੍ਰਦਾਤਾ ਦੇ ਅਧਿਕਾਰ, ਟੋਕਨ ਅਤੇ ਕਾਲਬੈਕ URL ਉਸਦੀਆਂ ਅਸਲ ਸੇਵਾਵਾਂ ਦਾ ਵਰਣਨ ਕਰਦੇ ਰਹਿਣ ਦਿਓ। ਆਉਟਬਾਊਂਡ ਪ੍ਰੌਕਸੀ ਪ੍ਰਦਾਤਾ ਤੱਕ ਪਹੁੰਚਣ ਲਈ ਆਵਾਜਾਈ ਸੈਟਿੰਗ ਹੈ, ਇਹ ਕਾਲਬੈਕ ਪਤੇ ਦਾ ਬਦਲ ਨਹੀਂ ਅਤੇ ਨਾ ਹੀ OAuth ਬੇਨਤੀ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਜੋੜਨ ਵਾਲਾ ਖੇਤਰ ਹੈ।

ਲੌਗਇਨ ਦਾ ਪਤਾ ਲਗਾਉਂਦਿਆਂ ਆਖਰੀ ਪੂਰਾ ਹੋਇਆ ਕਦਮ ਨਿਸ਼ਾਨਿਤ ਕਰੋ। ਦਿਖਾਇਆ ਗਿਆ ਪ੍ਰਦਾਤਾ ਲੌਗਇਨ ਪੰਨਾ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਰਾਹ ਕੰਮ ਕੀਤਾ। Rails ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕਾਲਬੈਕ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਵਾਪਸ ਆਇਆ। ਅਗਲੀ ਟੋਕਨ ਬੇਨਤੀ ਹੀ Rails ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਆਉਣ ਵਾਲਾ ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ, ਚੁਣੌਤੀ ਜਾਂ ਪ੍ਰਦਾਤਾ ਦਾ ਜਵਾਬ ਜਾਂਚਣ ਦੀ ਥਾਂ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ