Asp.net Core 1.1.2 Файлы cookie OpenID connect не создаются при перенаправлении, добавлен заголовок Set-Cookie - PullRequest
0 голосов
/ 14 января 2019

Я использую ядро ​​ASP.NET 1.1.2 с OpenIDConnect для подключения к серверу единого входа через IdentityServer. "Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.1.2"

Прямо сейчас у меня странная проблема, которая не случалась до вчерашнего дня.

Исходные файлы cookie, которые необходимо создать перед перенаправлением на сервер единого входа, не создаются в браузерах.

Используя консоль разработчика в браузерах, я вижу заголовок Set-Cookie, но файлы cookie не сохраняются.

   Content-Length: 0
   Date: Mon, 14 Jan 2019 18:50:10 GMT
   Location: http://mysso.com/connect/authorize?client_id=8111797110116117109&redirect_uri=http%3A%...ZD7cNnuWSmAoGyk2kERmR4hemQKsP2OKNbABYvybQCrdCMggrggDuY-5ZXnCTFf3oG11cR4Eh5N3Uarh99MD1nvJZrO4WsWDO73OQrEjh-zK3AceJzjfB2GH0gKKw-51SpcUWNgSTbQe517
   Server: Kestrel
   Set-Cookie: .AspNetCore.Correlation.oidc.I3lU6aE3BFH_4uuJ6KlgbpFl6Dij_WC-nyhlbUfvAPI=N; expires=Mon, 14 Jan 2019 18:07:24 GMT; path=/; httponly
   Set-Cookie: .AspNetCore.OpenIdConnect.Nonce.CfDJ8BWkCPQm5ElIof7iuryYpWDHYvyls6nYDr84XfQAIcLzg0ktLHIGOP7Tp_eqbvDOTdcQqnKIIogwMad9tWSy9v8BPnN8VUBucuz8qc9kv5Pkpe5aCg9oh6dgQD79a-w8Lc9haFm_tOEze1Wzna3XG7OzcGhw8kwyU5j3K_sK3Z7Y-u3cE_pey9DVbBzZkZStJXpoNjG_HWJHBjuqv7ADfCc91Oi83Ieuk7bBue8md1v2WqvSji3ziHkqyw9FKTV44Iw2Kg4o8Rf_3G-Q9ITNwr8=N; expires=Mon, 14 Jan 2019 18:07:24 GMT; path=/; httponly
   X-Powered-By: ASP.NET

Я проверил, не истек ли срок действия файлов cookie до создания, но у них у всех осталось 10 минут до истечения срока действия.

Эта проблема возникает во всех основных браузерах (edge, chrome, firefox), не только на моем компьютере, но и на других.

Код конфигурации

 app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
            {
                Authority = Configuration["SSOConfig:ServerUrl"],
                AuthenticationScheme = "oidc",
                SignInScheme = AuthenticationScheme.Cookies,
                RequireHttpsMetadata = false,
                ClientId = Configuration["SSOConfig:ClientId"],
                ClientSecret = Configuration["SSOConfig:ClientSecret"],
                ResponseType = "code id_token",
                Scope = { "openid", "offline_access" },
                SaveTokens = false,

Я попытался добавить куки вручную, и это работает.

HttpContextAccessor.HttpContext.Response.Cookies.Append("Test", "test");

1 Ответ

0 голосов
/ 15 января 2019

Похоже, что каким-то образом установленные файлы cookie были устаревшими.

Мне пришлось обновить систему до .net core 2. Разница, которую я обнаружил между ними, была на set-cookie. path=/sigin-oidc; secure

   Date: Tue, 15 Jan 2019 10:53:04 GMT
   Location: https://mysso.com/connect/authorize?client_id=8111797110243116117109&redirect_ur...
   Server: Kestrel
   Set-Cookie: .AspNetCore.Correlation.oidc.Iy3pTZ-akQm6BzLMCdBPLz1CAGTJ70QgQtjkY9Kvg1Y=N; expires=Tue, 15 Jan 2019 11:08:04 GMT; path=/signin-oidc; secure; httponly
   Set-Cookie: .AspNetCore.OpenIdConnect.Nonce.CfDJ8Oct5aw6xUJOnpJ_-0Ep-nSLfWIXgaEiH7y-0IN9tx61lNrxFhgAzLvLlBQfOfBBegyRJrEsIZFi00iuUt90cJ_bMQI_1XTVr0SiBCAJ9wqR2682VrYe2IbjIrFuB9d-Mmu-ztw-O2Htzd8Z36ndD8zPsgSCY_RD6JYVRe4MTfFBQbDZRxMQ3rgB_ulvSZmshD7vB4gvgcsbLyiY2wVuKzVGEKgJxgq23nxzkNKkL-vHm6w_41D_rZI5_V9hDsfrShFuTViZNttAes1fmA2jMTQ=N; expires=Tue, 15 Jan 2019 11:08:04 GMT; path=/signin-oidc; secure; httponly
   X-Powered-By: ASP.NET``
...