У нас есть сайт, который аутентифицирует пользователей с 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
Неудачная аутентификация в Swoogo с сайта с использованием Entra SSO ⇐ C#
Место общения программистов C#
1750769795
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/identity/claims/emailaddress"
)?.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;
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79677597/failed-authentication-into-swoogo-from-a-site-using-entra-sso[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия