none
OWIN Depolama Alanını Değiştirme RRS feed

  • Genel Tartışma

  • Merhabalar,

    .NET Framework 4.5 / WEB API 2 kullanarak bir web servis geliştirdim ve bu uygulamayı load balancer arkasına aldık. Buraya kadar her şey güzel fakat authentication ve authorization işlemleri için OWIN kullanmıştım. Bildiğiniz üzere OWIN değerleri InMemory şeklinde tutuyor ve bu birden fazla sunucu devreye girdiğinde token'ın sadece tek bir sunucu üzerinde tanınmasına sebep oluyor. Bu nedenle OWIN'ın Redis kullanmasını istemekteyim. Tam bu iş için oluşturulmuş ve Ziya Sarıkaya tarafından geliştirilmiş bir paket buldum https://github.com/ziyasal/Owin.Security.RedisTokenProviders fakat sanırım bir noktayı atladığım için bunda başarılı olamadım.

    Konfügrasyonu aşağıdaki gibi yapmıştım

    OAuthAuthorizationServerOptions oAuthAuthorizationServerOptions = new OAuthAuthorizationServerOptions()
                {
                    TokenEndpointPath = new Microsoft.Owin.PathString("/signin"),
                    AccessTokenExpireTimeSpan = TimeSpan.FromHours(1),
                    AllowInsecureHttp = true,
                    Provider = new SimpleAuthorizationServerProvider(),
                    RefreshTokenProvider = new RedisRefreshTokenProvider(new ProviderConfiguration
                    {
                        ConnectionString = "12.0.0.145:6379",
                        Db = 0,
                        ExpiresUtc = DateTime.UtcNow.AddMinutes(5),
                        AbortOnConnectFail = true
                    })
                };

    Ayrıca paket içerisindeki örneklerde cookie authentication kullanımı mevcut bense

    appBuilder.UseWebApi(httpConfiguration);

    Şeklinde kullanıyorum. Şimdiden teşekkürler.

    22 Mart 2019 Cuma 10:36