Неудачная аутентификация в Swoogo с сайта с использованием Entra SSOC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Неудачная аутентификация в Swoogo с сайта с использованием Entra SSO

Сообщение Anonymous »

У нас есть сайт, который аутентифицирует пользователей с Entra SSO - OIDC. На расследовании кажется, что Swoogo ожидает либо проблем ID_TOKEN от Entra или - и именно здесь я мог бы быть далеко от отметки - он получает электронное письмо от пользователя. Options.Events.OntokenResponsereceived Я могу видеть, что у нас есть токены, однако, похоже, они не сохранены правильно, как, когда я использую один и тот же код, чтобы просматривать токены в методе аутентифицированного контроллера, все значения токена являются нулевыми.
Может ли кто -нибудь указывать, куда я пойду неправильно, или если я действительно требует, чтобы я подходил к тому, что мне нужно, чтобы я подходил, как -то. /> промежуточное программное обеспечение: < /p>
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddMicrosoftIdentityWebApp(_config.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi()
.AddInMemoryTokenCaches();

// Configure OpenID Connect options to save tokens
services.Configure(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.SaveTokens = true;
options.Events.OnTokenResponseReceived = context =>
{
var tokens = context.TokenEndpointResponse;
var idToken = tokens.IdToken;
var accessToken = tokens.AccessToken;
var refreshToken = tokens.RefreshToken;

return Task.CompletedTask;
};

options.Events.OnTokenValidated = context =>
{
var identity = (ClaimsIdentity)context.Principal.Identity;
var email = identity.Claims.FirstOrDefault(c =>
c.Type == "email" ||
c.Type == "http://schemas.xmlsoap.org/ws/2005/05/i ... ailaddress"
)?.Value;
if (email != null)
{
identity.AddClaim(new Claim("email", email));
}
return Task.CompletedTask;
};
});

// Optionally configure the existing cookie auth scheme here (e.g. expiration, etc.)
services.Configure(CookieAuthenticationDefaults.AuthenticationScheme, options =>
{
options.ExpireTimeSpan = TimeSpan.FromHours(1);
options.SlidingExpiration = true;
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
options.Cookie.SameSite = SameSiteMode.Lax; // or None if cross-site login flows, but Lax usually works
options.Cookie.HttpOnly = true;

});


Подробнее здесь: https://stackoverflow.com/questions/796 ... -entra-sso
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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