devnotcom / devnot-mentor-back-end

Devnot Mentor projesinin Back-end ve Rest API kaynak kodlarını içermektedir.
MIT License
69 stars 21 forks source link

Authentication ve Authorization işlemleri içi ayrı bir controller yapılması #28

Closed mumincelal closed 3 years ago

mumincelal commented 3 years ago

change-password gibi auth işlemleri kodlardan gördüğüm kadarıyla şuan UserController içerisinde. Bunun için ayrı bir AuthController açılması daha doğru olur. Böylece auth işlemleri /auth path'i üzerinden gitmiş olur. Mevcuttaki yapıda auth işlemleri farklı controller'lar altında olduğu için (Genelde UserController) bu yapıların oluşturduğu api endpoint yapısı da standarda uygun olmamakta.

Örneğin bu endpoint aşağıdaki gibi isimlendirilebilir. /users/change-password -> /auth/change-password

umutluoglu commented 3 years ago

Authorization işlemlerini Github ve Google social api'ları üzerinden yapma kararı aldık aslında. Bununla ilgili bir issue da açmıştım ben. O kısmı tamamlarsak kullanıcılar sadece Github veya Google ile login olabilecekler, dolayısıyla şifre unuttum, şifre değiştir... gibi işlemlere gerek kalmayacak. Açık olan issue: https://github.com/devnotcom/devnot-mentor-back-end/issues/21

Bu issue sonradan açılmış sanırım. Eğer social api'lar kapsamında bir controller'a ihtiyaç duyacaksak onları yazalım tabi ama diğer işlemler için uğraşmayalım.

Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 15:35 tarihinde şunu yazdı:

change-password gibi auth işlemleri kodlardan gördüğüm kadarıyla şuan UserController içerisinde. Bunun için ayrı bir AuthController açılması daha doğru olur. Böylece auth işlemleri /auth path'i üzerinden gitmiş olur. Mevcuttaki yapıda auth işlemleri farklı controller'lar altında olduğu için (Genelde UserController) bu yapıların oluşturduğu api endpoint yapısı da standarda uygun olmamakta.

Örneğin bu endpoint aşağıdaki gibi isimlendirilebilir. /users/change-password -> /auth/change-password

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/devnotcom/devnot-mentor-back-end/issues/28, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4SPOH3EYTSCDMQIH2TTVWXA5ANCNFSM47WUQLTA .

mumincelal commented 3 years ago

Authorization işlemlerini Github ve Google social api'ları üzerinden yapma kararı aldık aslında. Bununla ilgili bir issue da açmıştım ben. O kısmı tamamlarsak kullanıcılar sadece Github veya Google ile login olabilecekler, dolayısıyla şifre unuttum, şifre değiştir... gibi işlemlere gerek kalmayacak. Açık olan issue: #21 Bu issue sonradan açılmış sanırım. Eğer social api'lar kapsamında bir controller'a ihtiyaç duyacaksak onları yazalım tabi ama diğer işlemler için uğraşmayalım. Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 15:35 tarihinde şunu yazdı: change-password gibi auth işlemleri kodlardan gördüğüm kadarıyla şuan UserController içerisinde. Bunun için ayrı bir AuthController açılması daha doğru olur. Böylece auth işlemleri /auth path'i üzerinden gitmiş olur. Mevcuttaki yapıda auth işlemleri farklı controller'lar altında olduğu için (Genelde UserController) bu yapıların oluşturduğu api endpoint yapısı da standarda uygun olmamakta. Örneğin bu endpoint aşağıdaki gibi isimlendirilebilir. /users/change-password -> /auth/change-password — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#28>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4SPOH3EYTSCDMQIH2TTVWXA5ANCNFSM47WUQLTA .

Social auth işlemleri de aslında ayrı bir controllerda yapılsa çok daha iyi olur sanırım. Hem böylece controller'ların scope'unu belirlemiş oluruz. Böylece bir controller başka bir controller'ın işini yapmamış olur.

İsterseniz bu issue'yu kapatabiliriz diğer isssue üzerinden gideceğimiz için.

umutluoglu commented 3 years ago

Evet ilk aşamada user tablosu üzerinden yürütürüz dedik auth işlerini, ancak sonrasında hızlı ilerlemek ve kullanıcıların login bilgilerini hatırlamama, sisteme girişte zorlanma gibi olasılıkları düşününce en sağlıklısı social api'ler olsun dedik. Eğer social api kısmını halledersek o kodlar deprecated olacak ve sileceğiz(inşallah) :)

Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 15:55 tarihinde şunu yazdı:

Authorization işlemlerini Github ve Google social api'ları üzerinden yapma kararı aldık aslında. Bununla ilgili bir issue da açmıştım ben. O kısmı tamamlarsak kullanıcılar sadece Github veya Google ile login olabilecekler, dolayısıyla şifre unuttum, şifre değiştir... gibi işlemlere gerek kalmayacak. Açık olan issue: #21 https://github.com/devnotcom/devnot-mentor-back-end/issues/21 Bu issue sonradan açılmış sanırım. Eğer social api'lar kapsamında bir controller'a ihtiyaç duyacaksak onları yazalım tabi ama diğer işlemler için uğraşmayalım. Mümin Celal Pinar @.***>, 2 Tem 2021 Cum, 15:35 tarihinde şunu yazdı: … <#m-2955309274903207587> change-password gibi auth işlemleri kodlardan gördüğüm kadarıyla şuan UserController içerisinde. Bunun için ayrı bir AuthController açılması daha doğru olur. Böylece auth işlemleri /auth path'i üzerinden gitmiş olur. Mevcuttaki yapıda auth işlemleri farklı controller'lar altında olduğu için (Genelde UserController) bu yapıların oluşturduğu api endpoint yapısı da standarda uygun olmamakta. Örneğin bu endpoint aşağıdaki gibi isimlendirilebilir. /users/change-password -> /auth/change-password — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#28 https://github.com/devnotcom/devnot-mentor-back-end/issues/28>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4SPOH3EYTSCDMQIH2TTVWXA5ANCNFSM47WUQLTA .

Social auth işlemleri de aslında ayrı bir controllerda yapılsa çok daha iyi olur sanırım. Hem böylece controller'ların scope'unu belirlemiş oluruz. Böylece bir controller başka bir controller'ın işini yapmamış olur.

İsterseniz bu issue'yu kapatabiliriz diğer isssue üzerinden gideceğimiz için.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/devnotcom/devnot-mentor-back-end/issues/28#issuecomment-872975900, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITWF4W6WU2XLKMQYAGZVATTVWZKVANCNFSM47WUQLTA .