Skip to content

yusirdemir/rails-auth-api

Repository files navigation

Authentication & Follow API

Görev

  1. Login - Register İşlemleri
  • Ad-Soyad, Email ve Şifre ile kayıt yapılabilen bir register api

Burada kontrol edilmesi gereken tek şey aynı email'e sahip başka bir kullanıcının olup-olmayışı ve email-validation

  • Email ve Şifre ile giriş yapılabilen bir login api

    Login api'si iki aşamadan oluşacaktır

    Kullanıcı Email ve Şifresini bir servise gönderir. Servis başarılı bir sonuç verirse bir refresh token ile response döner. Response ile gelen refresh token kullanım süresi 6 aydır.

    Kullanıcı bu refresh token ile jwt-token talep eder. Bu jwt-token'in kullanım süresi sadece 15 dk'dır, kullanım süresi dolduğunda başka bir işlem yapılacaksa refresh token ile yeniden jwt-token talep edilir

  1. Takipleşme Kurgusu için gerekli api
  • Kayıtlı olan bir kullanıcı, kayıtlı olan bir başka kullanıcıya takip isteği gönderir.

Takip edilen kullanıcıya RabbitMQ kullanılarak işlem kuyrugu convansiyonuna göre takip bilgisi için mail gönderimi sağlanır.

Yapılandırma

  • Ruby version = ruby 3.0.0
  • Rails version = 6.1.1
  • Authentication: JWT
  • Database = Postgresql

Durum

Register API Login API JWT API Follow API RabbitMQ
✔️ ✔️ ✔️ ✔️ 🕒

Login & Register Senaryosu

Kullanıcı Kayıt olur

image

Parolayı boş ve email adresini hatalı girer

image

Benzer mail adresi girer

image

Mailini veya şifresini yanlış girer

image

Başarılı bir giriş yapar ve 6 aylık refresh token alır

image

Refresh token kullanarak, 15 dakikalık access token alır

image

Access Tokenı alma esnasında, Refresh Tokenı hatalı girer

image

Loginde ne refresh token ne de email girer

image

User CRUD Senaryosu

Access Tokenı Http isteklerinin Header kısmına yazar ve bu şekilde tüm isteklerde Authorization işlemi gerçekleşir

image

Access Token girmezse

image

Access Token 15 dk lık süresi dolarsa

image

Access Token ile tüm kullanıcıları listeleyebilir

image

Access Token ile belirli bir kişiye bakabilir

image

Access Token ile belirli bir kişiyi güncelleyebilir

image

Access Token ile belirli bir kişiyi silebilir

image

Follow Senaryosu

Access Token ile kimliği belli olan kullanıcı, takip isteği atmak istediği kişinin sayfasına gelerek GET isteği atar. Bu şekilde takip isteği gönderilmiş olur.

image

About

Authentication with JWT token

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published