Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение данных с другого сервера / 3 сообщений из 3, страница 1 из 1
18.11.2019, 17:07
    #39890679
ther
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение данных с другого сервера
решили сделать для фронтэндщика отдельный сервак, что бы виртуальный не ложил машину, но столкнулись с парой ошибок при получении данных с чужого домена.
частично решили через
Код: c#
1.
2.
        Response.Headers.Append("Access-Control-Allow-Origin", "*");
        Response.Headers.Append("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");


но осталась последняя проблема, не устанавливаются нужные куки на машине после авторизации. Может у кого то был такой опыт, что делать?
я пробовал листать в сторону https://docs.microsoft.com/ru-ru/aspnet/core/security/cors?view=aspnetcore-2.2
но не помогло
Код: c#
1.
2.
3.
    
public void ConfigureServices(IServiceCollection services) {
      services.AddCors();


и
Код: c#
1.
2.
3.
4.
5.
6.
public void ConfigureServices(IServiceCollection services) {
      services.AddCors(o => o.AddPolicy("MyPolicy", builder => {
        builder.AllowCredentials()
               .AllowAnyMethod()
               .AllowAnyHeader();
      }));



PS
core 2.2
...
Рейтинг: 0 / 0
18.11.2019, 17:42
    #39890716
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение данных с другого сервера
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            services.AddSession(options =>
            {
                options.Cookie.Name = ".my.session";
                options.Cookie.SameSite = SameSiteMode.None;
                options.Cookie.HttpOnly = true;
                options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
                // Make the session cookie essential
                options.Cookie.IsEssential = true;
            });
...
Рейтинг: 0 / 0
18.11.2019, 18:41
    #39890758
ther
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение данных с другого сервера
чет не помогло
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
   public void ConfigureServices(IServiceCollection services) {
      services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
      /*services.Configure<CookiePolicyOptions>(options => {
        // This lambda determines whether user consent for non-essential cookies is needed for a given request.
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.None;
      });*/
      services.Configure<FormOptions>(x => x.MultipartBodyLengthLimit = 1_074_790_400);
      /*services.Configure<FormOptions>(x =>
      {
        x.ValueLengthLimit = int.MaxValue;
        x.MultipartBodyLengthLimit = int.MaxValue;
        x.MultipartHeadersLengthLimit = int.MaxValue;
        x.MultipartBoundaryLengthLimit = int.MaxValue;
      });*/


      services.AddCors(o => o.AddPolicy("MyPolicy", builder => {
        builder.AllowCredentials()
               .AllowAnyMethod()
               .AllowAnyHeader();
      }));

     
      services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
      services.AddDistributedMemoryCache();
      services.AddSession(options => {
        options.Cookie.Name = ".my.session";
        options.Cookie.SameSite = SameSiteMode.None;
        options.Cookie.HttpOnly = true;
        options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
        // Make the session cookie essential
        options.Cookie.IsEssential = true;
      });
      services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

      //services.AddHostedService<TJobOnceADay>();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
      if (env.IsDevelopment()) {
        app.UseDeveloperExceptionPage();
        
        //app.UseBrowserLink();
      } else {
        app.UseExceptionHandler("/Home/Error");
      }

      app.UseCors("MyPolicy");
      app.UseForwardedHeaders(new ForwardedHeadersOptions {
        ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
      });

      app.UseStaticFiles();
      //app.UseCookiePolicy();

      app.UseSession(); // Важно перед UseMvc  
      app.UseMvc(routes => {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
      });
    }



может дет порядок нарушен или чет не то написал?
прикол в том, что не устанавливаются куки и идет возврат ошибки 302
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение данных с другого сервера / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]