NET core Auth cook ie совместное использование - PullRequest
0 голосов
/ 16 марта 2020

У меня есть реализация SSO, и у меня есть 2 приложения, в которых используется общий auth cook ie.

Это код метода ConfigureServices из первого приложения (приложения формы входа):

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddHttpClient();

        services.AddDataProtection()
            .PersistKeysToFileSystem(new DirectoryInfo(@"C:\Tylde\Progetti\_commonCookies"))
            .SetApplicationName("NAU");

        services.AddAuthentication("AuthCookie")
            .AddCookie("AuthCookie", config =>
            {
                config.Cookie.Name = "User.Cookie";
                config.LoginPath = "/Authentication/SignIn";
            });

        services.AddControllersWithViews();
        services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
    }

Это код метода ConfigureServices из второго:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDataProtection()
            .PersistKeysToFileSystem(new DirectoryInfo(@"C:\Tylde\Progetti\_commonCookies"))
            .SetApplicationName("NAU");

        services.AddControllersWithViews();
    }

Приложения теперь настроены в локальном IIS и имеют следующие URL-адреса:

http://localhost : 8081 / Аутентификация / Вход и http://localhost: 8082 / Home

Кто-нибудь может мне помочь, пожалуйста?

Спасибо и извините за мой английский sh!

1 Ответ

0 голосов
/ 16 марта 2020

На основе вашего варианта совместного использования файлов cookie в нескольких доменах вы можете выполнить следующие шаги

  1. Определить домены для 2 приложений, таких как app1.product.com и app2.product.com
  2. Вы можете настроить файл hosts на локальной машине так, чтобы он указывал. Файл hosts обычно находится по следующим путям (ОС Windos: C:\Windows\System32\drivers\etc или Linux ОС: /etc/hosts)

127.0.0.1 до app1.product.com app2. product.com

Когда вы просматриваете свое приложение, вы можете использовать вышеуказанный поддельный домен, чтобы вы могли настроить домен cook ie и протестировать его также в локальной среде.

Предположение сделано так: что у вас есть пользовательская аутентификация, однако, когда вы предпочитаете использовать любой сервер авторизации с токенами Bearer, лучше обрабатывать проверки на уровне промежуточного программного обеспечения с помощью токенов, чтобы не зависеть от файлов cookie, поскольку файлы cookie не очень безопасный, если вы предпочитаете использовать SSO только для cook ie, задайте для свойства http ie вашего cook значение true.

HTH

...