Вход в Azure AD возвращает неавторизацию (401), несмотря на наличие актуальных конфигураций.C#

Место общения программистов C#
Ответить
Anonymous
 Вход в Azure AD возвращает неавторизацию (401), несмотря на наличие актуальных конфигураций.

Сообщение Anonymous »

Я пытаюсь интегрировать вход в Azure AD в своем приложении .NET 4.8 с интерфейсом Angular.
Но когда я пытаюсь пройти аутентификацию, возвращается ошибка http 401 «Несанкционировано».
В контроллере все утверждения отсутствуют, и контроллер возвращает внутреннюю ошибку сервера http 500.
Вот мой код:
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { clientId },
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = clientId,
ValidateAudience = true,

ValidIssuer = issuer,
ValidateIssuer = true,

ValidateIssuerSigningKey = true,
ValidateLifetime = true,

ClockSkew = TimeSpan.FromMinutes(5)
},
IssuerSecurityTokenProviders = new[]
{
new OpenIdConnectCachingSecurityTokenProvider(
$"{authority}/.well-known/openid-configuration")
}
});
}

public OpenIdConnectCachingSecurityTokenProvider(string metadataEndpoint)
{
var wc = new WebClient();
var metadata = JObject.Parse(wc.DownloadString(metadataEndpoint));
Issuer = metadata["issuer"].ToString();

var jwksUri = metadata["jwks_uri"].ToString();
var keysJson = wc.DownloadString(jwksUri);
var jwks = JObject.Parse(keysJson);

var tokens = new List();

foreach (var key in jwks["keys"])
{
var x5cArray = key["x5c"] as JArray;

if (x5cArray == null || x5cArray.Count == 0)
continue;

var certString = x5cArray[0].ToString();
var certBytes = Convert.FromBase64String(certString);
var cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certBytes);
var securityToken = new X509SecurityToken(cert);

tokens.Add(securityToken);
}

SecurityTokens = tokens;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... te-configs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»