Buradasın
Angular Uygulamasında API Güvenliği ve Token Yönetimi Eğitimi
youtube.com/watch?v=c4sDrhuOAFYYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Angular uygulamasında API güvenliği ve token yönetimi konulu kapsamlı bir eğitim serisidir.
- Eğitim, API güvenliği ve token kullanımı ile başlayıp, kullanıcı kayıt ve giriş işlemlerinin nasıl yapılacağını adım adım göstermektedir. Video boyunca Postman kullanarak token alma, token ile veri çekme, Angular Guard ve Interceptors kavramlarını kullanarak token yönetimi, HTTP interceptor class'ını kendi yazma ve token'ı local storage'da saklama gibi konular ele alınmaktadır.
- Eğitim serisinin son bölümünde, bir sonraki videoda error handling (hata yönetimi) ve reusable servisler (genel servisler) konularının işleneceği belirtilmektedir. Eğitmen, bu uzun eğitim serisinin sonunda izleyicilere teşekkür ederek, gelecek videoların iki haftada bir Sharpa Blog'da yayınlanacağını duyurmuştur.
- 00:15API Güvenlik Önlemleri
- Create, update, delete (CRUD) işlemleri yapıldıktan sonra API'ye doğrudan erişim izni verilmez, güvenlik önlemleri uygulanır.
- API'ler genellikle login veya token ile işlem yaptırır.
- API, belirli filtreleri geçmeden klasmana erişim izni vermez.
- 01:36Token Alma İşlemi
- Token almak için e-mail ve şifre istenir.
- Token alma işlemi için HTTP POST metodu kullanılır ve URL'de "http://1967/token" adresi kullanılır.
- Doğru şifre girildiğinde access token döndürülür ve bu token tüm metotlara giderken kullanılır.
- 03:35Token ile Veri Çekme
- Token ile veri çekmek için GET metodu kullanılır.
- Header'a "Authorization" eklenir ve değeri "Bearer token" şeklinde yazılır.
- Token ile veri çekildiğinde sadece o kullanıcının postları görüntülenir.
- 05:09Kayıt İşlemi
- Kayıt işlemi için username, email ve password istenir.
- Kayıt işlemi için HTTP POST metodu kullanılır ve URL'de "register" adresi kullanılır.
- Kayıt sırasında password en az alfa numerik karakter, lowercase ve uppercase harf içermelidir.
- 07:57Uygulamaya Kayıt ve Token İşlemleri
- Kayıt işlemi için yeni bir komponent oluşturulur ve register servisi yazılır.
- Register servisinde HTTP client kullanılarak API'ye POST isteği gönderilir.
- Kayıt işlemi tamamlandıktan sonra token almak için yeni bir API isteği yapılır.
- 15:37Kayıt ve Giriş İşlemleri
- Uygulama üzerinden ilk kayıt işlemi yapıldı ve "test user3@hotmail.com" kullanıcı adı ile kayıt başarıyla tamamlandı.
- Kayıt işlemi sırasında aynı e-posta ile tekrar kayıt yapılamaması için bir hata mesajı döndürüldü.
- Kayıt sonrası token alma işlemi yapılacak.
- 17:01Giriş Sayfası Oluşturma
- Giriş sayfası için email ve password alanları oluşturuldu ve giriş butonuna tıklandığında token alma işlemi gerçekleştirilecek.
- Giriş sayfasında token alma işlemi için "getToken" metodu oluşturuldu ve email ile password parametreleri alacak.
- Giriş işlemi için "autService" servisi enjekte edildi ve kullanıcı adı ile şifre ile token alma işlemi gerçekleştirildi.
- 20:34Token Kullanımı
- Token, isteklerde header kısmına eklenerek kullanılır ve "Bearer" ön ekiyle birlikte gönderilir.
- Post servisinde token header'a eklendi ve yeni post gönderme işlemi başarıyla gerçekleştirildi.
- Tüm isteklerde token eklemek için "http interceptors" kullanılması önerildi.
- 24:06Güvenlik Koruması
- Güvenlik koruması için "authGuard" adında bir guard oluşturuldu ve boolean değer döndürüyor.
- Guard, belirli sayfalara erişim için "canActivate" özelliği kullanılarak aktif edildi.
- Guard false döndüğünde belirli sayfalara erişim engellendi.
- 27:37Token Yönetimi
- Alınan token, uygulamanın kurallarına göre local storage, cookie, uygulama içinde veya database'de tutulabilir.
- Login komponentinde token local storage'a kaydedildi.
- "authService" servisinde token olup olmadığını kontrol eden bir metod oluşturuldu ve boolean değer döndürüyor.
- 30:46Angular HTTP Client ve Token Kontrolü
- Kullanıcı login olup olmadığı kontrol ediliyor ve token alınıyor.
- Token olmadan view erişilemiyor, ancak token ile erişim sağlanıyor.
- Token kaldırıldığında view erişilemiyor, bu da kullanıcının login olup olmadığını gösteriyor.
- 31:39Interceptor Oluşturma
- Interceptor karmaşık gelebilir ancak bir kez yapıldıktan sonra sürekli aynı şey kullanılacağı için mantıklı bir yöntemdir.
- Interceptor, her request'e header eklemek için kullanılır.
- Interceptor sınıfı HTTPInterceptor'tan implement edilir ve intercept metodu iki parametre alır: request ve next request.
- 35:25Interceptor Metodu ve Token Ekleme
- Intercept metodunda yeni bir request oluşturulur ve mevcut request klonlanır.
- Header'a authorization eklenir ve value'u "Bearer" ile token birleştirilerek gönderilir.
- Token lokal storage'den alınır ve request'e eklenir.
- 38:54Interceptor'ı Modüle Ekleme
- Modülde providers kısmına "provide http: interceptors" eklenir.
- Kullanılan class (OutInterceptor) ve multi-true değeri belirtilir.
- Tüm requestlerde authorization header'ı otomatik olarak eklenir.
- 41:20Yönlendirme İşlemleri
- Login'den sonra token yoksa login veya register'a yönlendirme yapılır.
- Router kullanılarak yönlendirme yapılır ve token yoksa login sayfasına yönlendirilir.
- Login olduktan sonra wall'a yönlendirme yapılabilir veya register olduktan sonra login'e yönlendirme yapılabilir.
- 44:26Gelecek Videolar Hakkında Bilgilendirme
- Konuşmacı, HTTP client konusuna daha fazla eğileceğini ve bu konunun kendisi için çok önemli olduğunu belirtiyor.
- Bir sonraki videoda error handling yapacaklarını, çünkü şu an iyimser davranıyorlar ve her şeyin başarılı olacağını varsayıyorlar.
- Daha sonra reusable (generic) servisler yazacaklarını ve bu videoların tahminen iki haftada bir Sharpa blog'da yayınlanacağını söylüyor.
- 45:35Kapanış ve Teşekkür
- Konuşmacı, uzun eğitimin sonuna geldiğinde izleyicilere teker teker teşekkür etmek istediğini belirtiyor.
- İzleyicilerden gelen geri dönüşler sayesinde bu kadar uzun ve zevkle anlatabildiğini ifade ediyor.
- İzleyicilere iyi hafta sonları ve sendromsuz pazartesiler dileyerek vedalaşıyor.