Тёмный

Blazor Full User Authentication & Authorization 

Tech Buddy
Подписаться 32 тыс.
Просмотров 4 тыс.
50% 1

Опубликовано:

 

30 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 19   
@NovaProje
@NovaProje 2 года назад
Elinize dilinize sağlık
@serkandurgut3991
@serkandurgut3991 3 года назад
jwt token cok arastirdim ama hep buldugum nasil olusturulduguydu. Kullanimini anlattiginiz icin cok tesekkurler.
@eminuzun190
@eminuzun190 Год назад
Öncelikle elinize emeğinize sağlık. Şöyle bir sorum olucak hocam JWT yi localStorage da tutmak kullanıcı pc si bir şekilde ele geçirildiğinde browserın local storageına erişilip token alınıp başka bir noktadan erişimi kolaylaştırmaz mı? .net core backendli Vue ile frontendli bir projeye başlayacağım ama bu güvenlik konuları ve refresh token olayları kafamı kurcalıyor. Konuyla alakalı bildiğiniz döküman kaynak varsa çok sevinirim.
@TechBuddyTR
@TechBuddyTR Год назад
Sağlanabilir elbette tam olarak bu sebeple accesstoken kısmı var ama zaten bu bilgiler bilgisayardan alınabiliyorsa, bu client'ın sorumluluğunda olacaktır. Yapacak çok da bir şey kalmayabilir. Endişelenecek tek konu sizin sistem üzerindeki bilgilere erişim de olmayabilir :)
@alperyazirr
@alperyazirr Год назад
Hocam merhabalar, acaba yanlış mı yaptım diye videoyu 2 defa izledim ama yaptığınız bütün şeyleri yapmış olmama rağmen hala 401 Unauthorized hatası alıyorum. O kısmıda kesmişsiniz. O yüzden github ile de kıyaslıyamıyorum. Destek olma şansınız varmıdır acaba ?
@mehmetsimsek260
@mehmetsimsek260 Год назад
aynı problemi ben de yaşıyorum. sorunu çözebildiniz mi acaba?
@isemihsenturk
@isemihsenturk 3 года назад
Anlatım için elinize sağlık. Server Side bir uygulama geliştiriyorum ve expire nedense çalışmadı. Daha doğrusu, çalışıyor fakat authorize expire olsa bile devam ediyor. Bende bu soruna çözüm getirmek adına koda bazı eklemeler yaptım. Acaba bu eklemeleri yapmadan da çalıştırmanın bir yolu var mıdır? Şu an page refresh olmadığı sürece exp olsa bile, kullanıcı hala sayfalar arasında gezebiliyor. Fakat, sayfayı yenilediğinde otomatik olarak logine yönlendiriyorum. Ama sayfayı yenilemeden de expire olduğu vakit logine yönlendirmek istiyorum. Koda şu şekilde bir ekleme yaptım: Startup Options => ClockSkew = TimeSpan.Zero AuthStateProvider.cs try { String JwtToken = await localStorageService.GetItemAsStringAsync("token"); if (String.IsNullOrEmpty(JwtToken)) return anonymous; string username = await localStorageService.GetItemAsStringAsync("username"); var token = new JwtSecurityToken(jwtEncodedString: JwtToken); var expiry = token.Claims.First(c => c.Type == "exp").Value; //var expiry = claims.Where(claim => claim.Type.Equals("exp")).FirstOrDefault(); if (expiry == null) return anonymous; var datetime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(expiry)); if (datetime.UtcDateTime
@TechBuddyTR
@TechBuddyTR 3 года назад
Expire olup olmadığı bilgisini her iki tarafta da tutabilirsiniz aslında. Diyelim ki server tarafında tuttunuz var expire olduğunda ExpireToken diye bir exception fırlatabilirsiniz daha sonra bu hatayı yakalayıp login'e yönlendirebilirsiniz direk. Daha önce servis tarafındaki hatalar için Extension metodumuz içerisinde ApiException fırlatmıştık, aynı yöntemi kullanarak yine Custom bir exception tipi fırlatabilirsiniz. Servise gittiğinizde expire olmuş bir token varsa bu şekilde yakalayabilirsiniz. Expire kontrol mekanizmaları ile ilgili 1-2 örneği aşağıya bırakıyorum. jasonwatmore.com/post/2020/05/25/aspnet-core-3-api-jwt-authentication-with-refresh-tokens stackoverflow.com/questions/43045035/jwt-token-authentication-expired-tokens-still-working-net-core-web-api stackoverflow.com/questions/55150099/jwt-token-expiration-time-failing-net-core/55155711
@serkandurgut3991
@serkandurgut3991 3 года назад
Hocam merhaba, anlatim icin tesekkurler. Aklima takilan bir soru var _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", apiToken); anladigim kadariyla bu kod hep kontrol ediliyor ve apinin headerina tokeni gonderiyor. Login oldugumda userList geliyor ancak sayfayi yenilersem 401 unauthorize aliyorum. Nedenini gunlerdir arastiriyorum bulamadim. Yardimci olursaniz cok sevinirim.
@TechBuddyTR
@TechBuddyTR 3 года назад
Bu kod sürekli kontrol edilmiyor aslında. SPA (Single Page Application) gereği sayfalar sürekli olarak yenilenmiyor ve sen bir httpclient istediğin zaman sana bir öncekini verebiliyor. O yüzden login olduğumuzda, httpclient için token'ı yazıyoruz içine bir kere ki daha sonra da buradakini kullanabilsin diye. Bunun dışında AuthenticationStateProvider içinde de yine UserToken bilgisini set etmek gerekiyor. Orayı kontrol edebilirsiniz. LocalStorage da sakladığımız Token bilgisinin bu provider içindeki metodda client'a set edildiğinden emin olmak lazım
@knoppix1734
@knoppix1734 2 года назад
_client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", apiToken.Replace("\"", ""));
@teknolojiuzmaniburada
@teknolojiuzmaniburada 2 года назад
@@TechBuddyTR Hocam aynı sorunu ben de yaşıyorum. AuthenticationStateProvider içinde de UserToken bilgisini set etmek gerekiyor deyince bir göz attım. GetAuthenticationStateAsync() içine Breakpoint koydum. Ne login olurken ne de Kullanıcı listesini çağırırken hiç bir şekilde bu blog içine girmiyor. Sanırım Unauhorized almamızın sebebi bu. Bu metodun nerede çağırılması gerekiyordu? Sanki boşta kalmış gibi. Hatamız nerede olabilir? Düzeltme: Startup.cs'de bu iki arkadaşın sırası tam tersiydi. Authentication'ı Authorization'ın üstüne koyunca düzeldi sanırım. Farklı bir şeyler yaptım mı kurcalarken emin değilim ondan. app.UseAuthentication(); app.UseAuthorization();
@yunusemretank3051
@yunusemretank3051 Год назад
Ben de bu sorunu günlerdir çözemiyorum, aynı sorunu yaşıyorum. Sorunun kaynağını bulabildiniz mi?
@fatmanurvurgun6948
@fatmanurvurgun6948 3 года назад
Merhaba anlatım için teşekkürler.Main Layout ta dediklerinizi uyguladıktan sonra uygulamayı çalıştırıyorum ve login yapmadan bir sayfaya girdiğimde Main Layout sayfasının OnInitializedAsync metoduna düşmüyor.Bu yüzdende Authenticate edilip edilmediğini kontrol edemiyorum.Object reference not set to an instance of an object. hatası almaktayım
@TechBuddyTR
@TechBuddyTR 3 года назад
Merhabalar, teşekkür ederim. Videodaki tüm değişiklikleri uyguladıysanız aslında sorun yaşamıyor olmanız lazım. github adresindeki projeye ulaşarak ilgili kodları karşılaştırabilir misiniz? Main Layout sayfasında OnInitializedAsync çalışmıyorsa zaten proje ile ilgili başka bir sorun var demektir. Client tarafını debug edemediğiniz için girmiyor diye düşünüyor olabilir misiniz? Console.Write("LOG") şeklide bir log ekleyerek tarayıcıdaki console kısmında logun düşüp düşmediğine bakabilirsiniz
@fatmanurvurgun6948
@fatmanurvurgun6948 3 года назад
@@TechBuddyTR Sorun halloldu.Gözümden kaçan bir kod satırından dolayı sorun yaşıyormuşum. Teşekkürler
@bokcuosman
@bokcuosman 3 года назад
(AuthenticationStateProvider as AuthStateProvider) bu hep boş diye hata veriyor injection da yaptım hem backendde hemde blazor içinde hemde casting yaptım nedendir acaba?
@TechBuddyTR
@TechBuddyTR 3 года назад
Startup.cs dosyasındaki Injection işlemin yaptınız mı?
@bokcuosman
@bokcuosman 3 года назад
evet ben blazor server kullanıyorum services.AddScoped(); bu şekilde injection yaptım
Далее
Blazor HttpClient Extensions | Custom Exceptions
14:26
Просмотров 1,4 тыс.
Serilog ile Loglama | File - Console - Debug
35:32
Просмотров 11 тыс.
Когда Долго В Рейсе)))
00:16
Просмотров 159 тыс.
FastAPI JWT Tutorial | How to add User Authentication
20:27
Kerberos Authentication Explained | A deep dive
16:52
Просмотров 351 тыс.
Youtube'u BIRAKIYORUM! | Bir Devrin Sonu
36:18
Просмотров 10 тыс.
Yapay Zeka İşimizi Elimizden Alacak MI?
16:48
Просмотров 2,2 тыс.
Apache vs NGINX
7:53
Просмотров 305 тыс.