Идентификация, разделяемая между приложениями - Identity Framework C # .NET

У меня есть 2 приложения, мастер-сайт MVC 5 (A) и ведомая конечная точка Web Api 2 (B), размещенная на двух разных компьютерах, обращающихся к 1 базе данных.

Эти приложения должны делиться аутентификацией и авторизацией на основе аутентификации форм. Каким будет рекомендуемый способ его реализации, который после аутентификации на (A):

  • Конечная точка (B) начинает пропускать запросы на контроллерах, украшенные атрибутом [Авторизовать]
  • Http.Context.User.Identity не является NULL на (A) и (B)

Я попытался использовать файл cookie для аутентификации:

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            CookieName = "DefaultCookie",
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new PathString("/auth/login"),
            Provider = new CookieAuthenticationProvider
            {
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User>(
                    validateInterval:TimeSpan.FromMinutes(20),
                    regenerateIdentity: (manager,user) => user.GenerateUserIdentityAsync(manager))
            }
        });

Но я не был точно успешным.

c#,.net,asp.net-mvc,asp.net-web-api2,asp.net-identity,

0

Ответов: 1


0

Вы можете сворачивать свои собственные, но IdentityServer4 делает такие вещи. Грубо поставленный 1) MVC аутентифицируется; 2) MVC получает идентификатор Id; 3) Пропустить запрос к веб-API с помощью Id Token; 4) Веб-API проверяет, действителен ли токен и получает претензии; 5) Если пользователь авторизован, выполните действие; 6) повторите 3 - 5, если токен действителен.

C # ,. сеть, asp.net-MVC, asp.net-веб-API2, asp.net-идентичность,
Похожие вопросы