Apa itu Autentikasi ?
- Password/PIN: Hanya pemiliknya yang tahu password/pin.
- Digital Certificate: Berbasis pada asymmetric cryptography yang mengandung informasi rahasia yaitu private key.
- Private Key: Hanya pemiliknya yang tahu private key, orang lain hanya tahu public key.
Sedangkan metode authentication yang berbasis pada keunikan adalah:
- Retina: Tidak mungkin ada 2 orang yang pola retinanya sama.
- Fingerprint: Tidak mungkin ada 2 orang yang sidik jarinya sama.
- Paspor: Hanya pemiliknya yang bisa menunjukkan foto di paspor sesuai dengan wajahnya.
- Tandatangan: Hanya pemiliknya yang bisa menuliskan tandatangan dengan sempurna.
Session Based Authentication
Pada session based authentication, server aka membuat session untuk user setelah user log in. Session id akan disimpan di dalam cookie pada browser yang digunakan user. Selama user tetap dalam keadaan log in, Cooki dapat dikirim pada setiap request yang dilakukan oleh user. Server lalu melakukan perbandingan dengan session id yang disimpan pada cookie dengan informasi session yang disimpan pada memory untuk mengverifikasi identitas user dan mengembalikan respon sesuai dengan status yang diberikan.
Token Based Authentication
Terdapat banyak aplikasi web menggunakan JSON Web Token (JWT) dibandingkan sessions untuk authentication. Pada aplikasi token based, server akan membuat JWT dengan rahasia dan mengirim JTW kepada client. Client kemudian menyimpan JTW (biasanya pada local storage) dan memasukan JWT kedalam headers untuk setiap request yang dilakukan oleh client. Server kemudian akan memvalidasi JWT pada setiap request yang dilakukan clinet dan mengembalikan respons yang sesuai.
Perbedaan yang sangat besar disini adalah user’s state tidak disimpan di dalam server, akan tetapi disimpan didalam token pada sisi client.
Komentar
Posting Komentar