Membuat Service OTP Django Mysql Bagian 1 - OTP dan PIN

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan !
Membuat Service OTP Django Mysql Bagian 1 - OTP dan PIN
Xiaomi Redmi Watch 4

Xiaomi Redmi Watch 4

Masa Pakai Baterai 20 Hari: Redmi Watch 4 dilengkapi dengan baterai berukuran besar dan chip hemat energi, memberikan masa pakai baterai hingga 20 hari dalam mode penggunaan normal. Pengisian daya magnetis portabel membuat pengisian daya menjadi mudah dan cepat.

Free Klik Disini !

OTP  merupakan kode verifikasi berupa angka atau terkadang dikombinasikan dengan huruf yang biasanya terdiri dari 4 – 6 digit.

Kode OTP digunakan untuk proses autentikasi data ketika Anda akan mengakses sebuah aplikasi atau melakukan transaksi secara online.

Sesuai dengan kepanjangan OTP adalah One Time Password, kode ini hanya sekali pakai dan bisa hangus dalam beberapa menit.

Sebelum kita membahas lebih spesifik bagaimana cara membuat OTP dengan django framework, mari kita pahami terlebih dahulu hal-hal terkait OTP.

Apa perbedaan OTP dengan PIN?


OTP dan PIN keduanya sama-sama berupa kode, namun PIN dan OTP adalah hal yang berbeda.


Berikut penjelasannya :


  • PIN adalah sistem keamanan yang bisa diatur oleh pemilik akun. Sedangkan OTP adalah kode acak yang secara otomatis dikirimkan oleh sistem.

  • OTP adalah salah satu sistem keamanan two way authentication yang bersifat sangat rahasia. Sedangkan PIN digunakan layaknya password untuk masuk ke sebuah akun.


Bisa dikatakan fungsi utama dari OTP adalah untuk mencegah tindakan kriminal oleh orang-orang yang tidak bertanggung jawab.

Jenis-Jenis OTP


Meskipun sama-sama berfungsi sebagai sistem perlindungan, namun OTP sendiri memiliki beberapa jenis berdasarkan tingkat keamanannya.


OTP dibagi menjadi tiga macam mulai dari yang kurang aman hingga yang paling aman.

1. On Demand Token


OTP ini merupakan jenis OTP yang kurang aman, namun yang paling sering digunakan hingga saat ini karena kemudahannya.


Sistem ini menggunakan peran pihak ketiga seperti SMS, email atau telepon karena tidak memiliki kemampuan mengolah kode sendiri.


Dikatakan kurang aman karena dengan sistem ini masih rentan dimanfaatkan dalam tindakan pembajakan dan penyalahgunaan.

2. Soft Token


Jenis OTP soft token bisa dikatakan cukup aman karena memanfaatkan aplikasi autentikasi yang mampu mengolah kode berdasarkan set kunci yang dimiliki seperti Google Authenticator atau Twilio Authy.


Namun kekurangannya, ketika sistem tersebut juga terinstall di perangkat lain, maka perangkat lain tersebut akan memiliki akses kode OTP.


Maka dari itu, untuk mengatasinya Anda bisa memilih autentikasi yang terlindungi PIN.

3. Hard Token


Jenis yang satu ini dibilang paling aman karena sistem kerjanya yang langsung mengakses fisik token kalkulator tanpa perlu terhubung dengan perangkat lain.


OTP hard token juga tidak memanfaatkan pihak ketiga seperti email dan whatsapp, dengan begitu akan lebih sulit untuk dibajak.


Dari sedikit penjelasan diatas sudah pahamkan apa perbedaan antara OTP dan PIN, di tutorial bagian yang kedua kita akan membuat service generate kode OTP.

Pastikan juga Anda telah mengikuti tutorial sebelumnya terkait dengan service user login.

Baca artikel lainya:


  1. Membuat service user login bagian 1 - Konfigurasi Database

  2. Membuat service user login bagian 2 - Serializer dan JWT

  3. Membuat CRUD service product bagian 1 - Models Product

  4. Membuat CRUD service product bagian 2 - Function Serializer

  5. Membuat CRUD service product bagian 3 - Api Client Service

  6. Membaut CRUD service product bagian 4 - Auth User

  7. Membuat CRUD service product bagian 5 - TDR File Log

  8. Membuat CRUD service product bagian 6 - Unit Test

  9. Membuat service user register bagian 1 - Django

  10. Membuat Service user register bagian 2 - Django

  11. Membuat service filter dan download file CSV di django

  12. Django upload file menggunakan FileSystemStorage

  13. Tips meningkatkan kualitas code pada bahasa python

  14. Cara memfilter tipe data string pada golang dan python

  15. Mengubah format datetime pada bahasa python

  16. Mengolah data CSV dengan python pandas

  17. Sample join data CSV di python menggunakan pandas

  18. Menggunakan redis PUB/SUB untuk aplikasi python

  19. Implementasi blockchain ethereum pada industri real estate

  20. 4 Cara mengubah dictionary ke json pada python