Arsitektur Microservice - menggunakan Auth Server sebagai server Sumber Daya Pengguna


9

Saya merancang aplikasi berdasarkan arsitektur microservices,

Dalam aplikasi ini saya akan membutuhkan Auter microservice,

Saya juga perlu menyimpan beberapa informasi Pengguna tambahan seperti, mungkin, beberapa alamat, gambar avatar dll

Ini mengarah pada gagasan memiliki dua layanan microser - satu untuk Auth dan lainnya, Pengguna, yang dapat menyimpan informasi tambahan Pengguna,

Sejauh ini, saya punya ide-ide berikut:

  1. Izinkan layanan auth juga menjadi server sumber daya yang akan menampung informasi Pengguna termasuk alamat tambahan, mungkin, avatar dll. Ini adalah solusi yang nyaman karena memungkinkan untuk memiliki segala sesuatu yang terkait dengan Pengguna di satu tempat dan mengurangi kompleksitas untuk operasi seperti pendaftaran baru Pengguna, menghapus Pengguna. Namun, solusi ini tampaknya bertentangan dengan konsep layanan mikro, tetapi bagi saya solusi ini adalah yang paling menarik

  2. Memiliki dua layanan microser yang berbeda - Auth dan User. Auth akan bertanggung jawab hanya untuk menangani token dan tidak akan menyimpan data apa pun yang terkait dengan Pengguna. Jadi ketika permintaan token diterima, layanan Auth memanggil Pengguna untuk menerima data Pengguna dan membuat keputusan

  3. Memiliki dua layanan microser yang berbeda - Auth dan User. Auth akan bertanggung jawab untuk menangani token dan juga menyimpan sebagian informasi pengguna yang terkait dengan Otentikasi (mungkin kata sandi, peran). Layanan pengguna akan menyimpan semua informasi lain seperti alamat tambahan, avatar, dll. Pendekatan ini bagi saya tampaknya terlalu rumit karena memerlukan penghapusan yang kompleks. Pengguna / buat operasi Pengguna baru

Sekarang, saya perlu memilih salah satu dari solusi ini, tetapi saya bingung dan tidak yakin yang mana dari solusi ini,

Akan menghargai saran yang berkaitan dengan ini,

Terima kasih


1
# 3, Selamat, Anda telah menyadari bahwa ada satu elemen lagi dalam model Anda. Akun . Saya tidak tahu mengapa orang berusaha untuk menghubungkan keamanan dengan pengguna secara langsung ketika terbukti bahwa keamanan adalah konteks yang dibatasi oleh pengguna. Decuple data keamanan dari Pengguna dan aplikasi Anda akan siap untuk mengubah model keamanan saat ini dengan yang lain, tanpa mengacaukan domain. Bahkan memungkinkan lebih dari satu model keamanan mungkin dilakukan hanya dengan memisahkan 2 masalah ini :-)
Laiv

Jawaban:


7

3 adalah jawaban yang benar.

Server Auth Anda mengotentikasi pengguna, server Pengguna Anda mungkin akan lebih baik bernama 'UserProfiles'

Anda akan menemukan bahwa banyak pengguna Anda adalah orang-orang dengan profil, tetapi Anda juga akan memiliki pengguna layanan untuk API lain atau mungkin kunci API sederhana, yang juga menggunakan server auth untuk mengautentikasi tetapi tidak memiliki profil yang sesuai.

Selain itu, Anda mungkin akan menemukan bahwa ada banyak server dan kerangka kerja Auth out yang dapat Anda gunakan, tetapi Anda UserProfile akan disesuaikan dengan kebutuhan Anda. Seringkali lebih mudah untuk menambahkan useridprofil kustom daripada mengintegrasikan profil khusus dengan DB otentikasi premade

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.