ASP.NET Core JWT Bearer: ਮੈਟਾਡੇਟਾ backchannel ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰੋ
ਰਿਟਰੀਵਲ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ BackchannelHttpHandler ਵਰਤੋ, ਜਦੋਂ ਤੱਕ ਪੂਰਾ ਕਲਾਇੰਟ ਜਾਂ ਕਸਟਮ ਕਨਫਿਗਰੇਸ਼ਨ ਮੈਨੇਜਰ ਪਹਿਲਾਂ ਹੀ ਉਸ ਟ੍ਰਾਂਸਪੋਰਟ ਦਾ ਮਾਲਕ ਨਾ ਹੋਵੇ।
ਇੱਕ API bearer ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਸਰਵਰ ਦੇ ਮੈਟਾਡੇਟਾ ਤੇ ਸਾਈਨਿੰਗ-ਕੀ ਡਾਊਨਲੋਡ ਵਿੱਚ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ। ਉਸ JWT bearer ਸਕੀਮ ਨੂੰ ਇਸਦੀ ਮੌਜੂਦਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਅਤੇ ਬੇਨਤੀਆਂ ਤੋਂ ਪਹਿਲਾਂ ਕਨਫਿਗਰ ਕਰੋ:
using System.Net;
using Microsoft.AspNetCore.Authentication.JwtBearer;
builder.Services.Configure<JwtBearerOptions>(
JwtBearerDefaults.AuthenticationScheme, options =>
{
options.BackchannelHttpHandler = new HttpClientHandler
{
UseProxy = true,
Proxy = new WebProxy("http://proxy.example:8080")
};
});ਰਜਿਸਟਰਡ ਨਾਮ ਨਾਲ ਮਿਲਾਓ; ਜੇ ਡਿਫਾਲਟ Bearer ਤੋਂ ਵੱਖਰਾ ਹੈ ਤਾਂ ਇਸਦਾ ਅਸਲ ਨਾਮ ਵਰਤੋ। Authority, Audience ਅਤੇ ਮੌਜੂਦਾ ਟੋਕਨ ਪੈਰਾਮੀਟਰ ਸੰਭਾਲੋ। ਸਾਰਵਜਨਿਕ ਪ੍ਰੌਕਸੀ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਹੋਣ 'ਤੇ ਸਾਰਵਜਨਿਕ ਮੈਟਾਡੇਟਾ ਤੇ ਸਾਈਨਿੰਗ-ਕੀ ਐਂਡਪੌਇੰਟ ਇਸ ਬਿਨਾਂ-ਖਾਤਾ WebProxy URL ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਵਿੱਚੋਂ ਉਮੀਦਵਾਰ ਵਰਤ ਸਕਦਾ ਹੈ।
ਮਿਆਰੀ ਸੈੱਟਅੱਪ ਵਿੱਚ post-configuration ਇਸ handler ਤੋਂ backchannel ਬਣਾਉਂਦਾ ਹੈ। ਜੇ ਪੂਰਾ Backchannel ਜਾਂ ਕਸਟਮ ConfigurationManager ਪਹਿਲਾਂ ਹੀ ਰਿਟਰੀਵਰ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਇਸਦੀ ਥਾਂ ਉਹ ਆਬਜੈਕਟ ਕਨਫਿਗਰ ਕਰੋ। handler ਪ੍ਰਾਪਰਟੀ ਦੋਵਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਨਹੀਂ ਕਰਦੀ।
ਕੋਈ ਵੀ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਵਰਤੋਂ ਤੋਂ ਪਹਿਲਾਂ WebProxy 'ਤੇ ਸੈੱਟ ਕਰੋ, SendAsync ਅੰਦਰ Proxy ਬਦਲ ਕੇ ਨਹੀਂ। issuer, audience, ਦਸਤਖਤ, ਉਮਰ ਅਤੇ ਵਾਧੂ ਵੈਲੀਡੇਟਰ ਸੰਭਾਲੋ। OIDC ਲੌਗਇਨ ਅਤੇ ਵੱਖਰੀ ਟੋਕਨ ਪ੍ਰਾਪਤੀ ਆਪਣੇ HTTP ਰਾਹ ਰੱਖਦੇ ਹਨ।