ASP.NET Core OIDC ਲੌਗਇਨ ਵਿੱਚ ਸਰਵਰ-ਸਾਈਡ ਪ੍ਰੌਕਸੀ ਰੂਟ ਠੀਕ ਕਰੋ
ਰਜਿਸਟਰ ਕੀਤੀ OpenID Connect ਸਕੀਮ ’ਤੇ ਡਿਸਕਵਰੀ ਅਤੇ ਟੋਕਨ ਬੇਨਤੀਆਂ ਲਈ BackchannelHttpHandler ਸੈੱਟ ਕਰੋ, ਜਦੋਂ ਤੱਕ ਐਪ ਪੂਰਾ Backchannel ਕਲਾਇਟ ਨਹੀਂ ਦਿੰਦੀ।
ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਪਛਾਣ ਪ੍ਰਦਾਤਾ ਦੇ ਲੌਗਇਨ ਸਫ਼ੇ ’ਤੇ ਪਹੁੰਚਣਾ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ASP.NET Core ਸਰਵਰ ਪ੍ਰਦਾਤਾ ਦਾ ਮੈਟਾਡੇਟਾ ਲੈ ਸਕਦਾ ਹੈ ਜਾਂ ਟੋਕਨ ਬਦਲ ਸਕਦਾ ਹੈ। ਉਹ ਸਰਵਰ-ਸਾਈਡ ਬੇਨਤੀਆਂ OpenID Connect backchannel ਵਰਤਦੀਆਂ ਹਨ।
oidc ਨਾਂ ਵਾਲੀ ਮੌਜੂਦਾ ਸਕੀਮ ਲਈ, ਪ੍ਰਮਾਣਿਕਤਾ ਬੇਨਤੀਆਂ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਸੇਵਾ ਸੈਟਅਪ ਦੌਰਾਨ ਇਸਦਾ ਹੈਂਡਲਰ ਕਨਫਿਗਰ ਕਰੋ:
services.Configure<Microsoft.AspNetCore.Authentication.OpenIdConnect
.OpenIdConnectOptions>("oidc", options =>
{
options.BackchannelHttpHandler =
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080")
};
});oidc ਨੂੰ ਅਸਲ ਰਜਿਸਟਰ ਕੀਤੇ ਸਕੀਮ ਨਾਮ ਨਾਲ ਬਦਲੋ। authority, client ਅਤੇ ਟੋਕਨ ਜਾਂਚ ਸੈਟਿੰਗਾਂ ਰੱਖੋ। ਜੇ ਪ੍ਰੌਕਸੀ ਨੂੰ ਖਾਤਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਲੋੜੀਦੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ WebProxy ਨਾਲ ਜੋੜੋ।
ਜਾਂਚੋ ਕਿ ਐਪ ਪਹਿਲਾਂ ਹੀ options.Backchannel ਨੂੰ ਪੂਰਾ HttpClient ਵਜੋਂ ਦਿੰਦੀ ਹੈ ਜਾਂ ਨਹੀਂ। ਜੇ ਦਿੰਦੀ ਹੈ, ਤਾਂ ਉਸ ਕਲਾਇਟ ਦਾ ਰੂਟ ਸਿੱਧਾ ਕਨਫਿਗਰ ਕਰੋ: ASP.NET Core ਆਪਣਾ ਡਿਫ਼ਾਲਟ backchannel ਬਣਾਉਂਦਿਆਂ BackchannelHttpHandler ਵਰਤਦਾ ਹੈ, ਪਹਿਲਾਂ ਦਿੱਤੇ ਕਲਾਇਟ ਨੂੰ ਬਦਲਣ ਲਈ ਨਹੀਂ।
ਸਰਵਰ ਦੀ ਅਸਫਲ ਡਿਸਕਵਰੀ ਜਾਂ ਟੋਕਨ ਬੇਨਤੀ ਵਰਤ ਕੇ ਇਸ ਸੈਟਿੰਗ ਦਾ ਮੁਲਾਂਕਣ ਕਰੋ। ਜਨਤਕ HTTP ਰੂਟ ਲਈ, HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ WebProxy ਪਤੇ ਲਈ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਪ੍ਰੌਕਸੀ ਨੀਤੀ ਅਤੇ ਅਸੰਬੰਧਿਤ HTTP ਕਲਾਇਟਾਂ ਦੇ ਆਪਣੇ ਕਨਫਿਗਰੇਸ਼ਨ ਰਾਹ ਹਨ।