Bagaimana half micro lumen,nodejs?

#ASK mau tanya mungkin lebih ke logic kali ya, ane kan api untuk login nah itu pake lumen passport, kira-kira gimana ya jadi si lumen ini cuman buat login nah ketika udah login, semua proses kaya postingan, event itu semua dijalanin pake nodejs, kira kira buat nangkep tokenny dari sisi backendny gimana, jadi si nodejs itu kenal token itu, caseny masih di satu database deh, gimana ya logicny, terima kasih
avatar werich1

Ditanyakan oleh @werich1

85 Kontribusi 6 Poin

  • mungkin judulnya bisa diganti menjadi "Bagaimana sistem autentikasi di microservice?" - @hilmanski

Login untuk menanggapi


Jawaban

Pertanyaan menarik, saya rangukum sedikit, bertai ang ditanyakan. Bagaimana sistem autentikasi di microservice?

Saya tidak punya pengalaman di microservice, berdasarkan teori yang bisa saya pahami, untuk menggunakan autentikasi sekarang banyak menggunakan JWT. bisa dibaca di jwt.io atau nonton video penjelasan apa itu jwt

Implementasinya sendiri, karena algoritma dari JWT sudah ditentukan, artinya algoritma yang sama bisa dipasang di microservice manapun, apapun bahasanya.

Kita seperti mem"bungkus" sebuah data. Dan semua pembuka bungkusan ini bisa dipasang di masing masing microservicenya
avatar hilmanski

Dijawab oleh @hilmanski

2206 Kontribusi 1805 Poin

Login untuk menanggapi


asumsi NodeJS app-nya itu RESTful Web Service dan meng-enabled-kan oAuth protocol.
Kedua app itu berada dalam satu server.

Dari penjelasannya yang ditangkap adalah token yang didapat lewat lumen akan digunakan untuk melakukan panggilan function di-NodeJS.
Untuk melakukan ini, biasanya digunakan open standard yaitu oAuth (versi sekarang oAuthv2) dan biasanya juga dikombinasikan dengan OpenID.

Lumen-nya itu bertindak sebagai oAuth server dan NodeJS app-nya sebagai Resouce Server.

1. Setelah user login ke Lumen dan mendapatkan acces_token. Bila menggunakan OpenID juga, maka dikirim juga id_token.
2. user melakukan pemanggilan API ke NodeJS App disertai acces_token di header http-nya [authorization: bearer acces_token].
3. NodeJS App akan me-verifikasi (JWT signature valid + JWT expired + user claims) acces_token ke Lumen. Asumsi ini menggunakan JWT Tokens -- siapa tahu pakai Fernet, Branca atau PASETO.
4. Bila verifikasi sukses maka NodeJS akan me-reponse request.

Untung saja sekarang banyak library untuk ini, kalau buat sendiri cukup rumit dan yang butuh pengetahuan bagus atas protocol, cryto dan secure programming.

Untuk kasus ini, coba pakai oAuth protocol.
avatar soeleman

Dijawab oleh @soeleman

76 Kontribusi 85 Poin

Login untuk menanggapi


terima kasih atas jawabanny semua, saya emang bingung dalam sisi backendny agar tidak sembarang tembak API bisa langsung mendapat atau posting data, jadi jika saya jalankan dipostman dan tidak ada bearer tokenny itu dia tidak akan bisa hit API, sebenrnya itu yang saya bingung karena saya di lumen menggunakan lumen passport dan saya bingung coding di nodejsny agar dari sisi backend API tidak dapat di hit ketika tidak ada bearer token, ada refrensi buat belajar ini? cara nangkep token dari sisi backendnny?
avatar werich1

Dijawab oleh @werich1

85 Kontribusi 6 Poin

  • sama seperti bikin token di lumen. bikin juga sistem jwt/token di nodejs - @hilmanski
  • tetapi saya pake passport, apa harus di method yang sama ya? - @werich1

Login untuk menanggapi


Sebenrny jwt sendiri udh aman belum sih biar ga bisa sembarang orang bisa make? Atau lebih baik passport?
avatar werich1

Dijawab oleh @werich1

85 Kontribusi 6 Poin

Login untuk menanggapi


Login untuk gabung berdiskusi