Как настроить удостоверение ABP в моем приложении для подключения к работающему экземпляру ABP без полной интеграции?C#

Место общения программистов C#
Ответить
Anonymous
 Как настроить удостоверение ABP в моем приложении для подключения к работающему экземпляру ABP без полной интеграции?

Сообщение Anonymous »

Требование

Я работаю над продуктом, который, как ожидается, потребует входа пользователя в систему, чтобы иметь возможность предлагать его в Интернете. Для начала идея состоит в том, чтобы просто добавить некоторую оболочку/аннотацию/интеграцию, достаточную для перенаправления только на работающий экземпляр приложения ABP (который также можно разработать независимо для других продуктов) и извлечь информацию о роли пользователя и разрешениях.
Я могу перенаправиться в работающее приложение идентификации, пройти аутентификацию и вернуться в основное приложение, но я понятия не имею, как настроить службу ICurrentUser из ABP для получения всех необходимых данных из приложения идентификации. Мы хотим посмотреть, насколько это будет полезно для наших сценариев использования, прежде чем полностью переходить на ABP.

Спецификации



Техническая
Версия




.Net
8.0


ABP
8.3.4


DB
MongoDB 6.0


UI
Blazor Server



Я добавил это в класс модуля в основном проекте:

Код: Выделить всё

[DependsOn(
typeof(AbpAspNetCoreModule),
typeof(AbpAutofacModule)
)]
public class APPAbpModule : AbpModule
{
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
// Most of this is in Program.cs
//var app = context.GetApplicationBuilder();
//var env = context.GetEnvironment();
//if (!env.IsDevelopment())
//{
//    app.UseHsts();
//}
//app.UseHttpsRedirection();
//app.UseAuthentication();
//app.UseAuthorization();
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
context
.Services
.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie("Cookies", options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(365);
})
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options =>>
{
options.Authority = "https://localhost:44331";
options.ClientId = "APP_Client";
options.ClientSecret = "";
options.CallbackPath = "/";

options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.ResponseType = OpenIdConnectResponseType.Code;

options.SaveTokens = true;
options.SkipUnrecognizedRequests = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.RequireHttpsMetadata = true;

options.MapInboundClaims = false;
options.TokenValidationParameters.NameClaimType = JwtRegisteredClaimNames.Name;
options.TokenValidationParameters.RoleClaimType = "roles";
})
;
}
}
Приложение ABP — это стандартное приложение-шаблон от ABP с мультитенантностью, идентификацией, разрешениями и управлением пользователями (как предоставлено ABP Studio), и в раздаточное устройство добавляется только информация клиента о APP_Client. Для тестирования добавлено 2 разрешения.
Что мне нужно добавить в основной проект, чтобы ABP мог подключаться к службе идентификации и получать необходимую информацию? Целью здесь является минимальное изменение структуры основного продукта.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-abp-in
Ответить

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

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

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

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

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