JSON Web Token (JWT)

Definisi

JSON Web Token atau lebih dikenal dengan JWT yang mana JWT ini adalah sebuah token berbentuk string panjang dengan character random.  JWT digunakan untuk melakukan sistem Autentikasi dan Pertukaran Informasi. Umumnya JWT digunakan untuk melakukan login.

JSON Web Token Sebagai Token Based Authentication system

Tidak seperti otentikasi berbasis sesi, sistem otentikasi berbasis Token membutuhkan beban server yang sangat sedikit. Dalam sistem otentikasi berbasis sesi, pemeliharaan penyimpanan sesi memerlukan pengolahan dan penyimpanan. Sedangkan sistem otentikasi Token, tidak diperlukan penyimpanan sesi di sisi server. Keindahan menggunakan JWT sebagai token otentikasi adalah kesederhanaannya. Setelah token dibuat, system akan mengotentikasi pengguna tanpa menyentuh database lagi. Token dapat dibuang saat kadaluwarsa dari waktu ke waktu yang disebutkan dalam token itu sendiri. JWT adalah self contained token yang memiliki otentikasi, kadaluwarsa informasi waktu dan klaim yang ditetapkan pengguna lainnya yang ditandatangani secara digital.

Kegunaan

JWT dapat digunakan untuk menyediakan sistem Otentikasi Berbasis Token di API ReST Anda. Karena JWT berisi klaim yang diperlukan, dimungkinkan untuk memberi skala API tanpa bergantung pada server Authentication.

Structure JWT

– Header terdiri dari Algoritma HS256, merupakan default dari JWT.

sample :


– Payloadnya sebagai infomasi atau data yang ingin kita kirimkan ke user.

sample:


– Verify Signature adalah hasil dari Hash atau gabungan dari isi encode Header dan Payloadnya lalu ditambahkan kode screet key.

sample :

 

referensi : https://jwt.io/

good luck …!

Interface Cursor Already Closed on Nginx

Python Django

Saat kamu menggunakan raw query pada django dengan database postgres dan kamu menemukan pesan error “Interface Cursor Already Closed”. kamu perlu membuat Try … Exception, pesan error tersebut di karenakan akses koneksi ke database terputus dan pid uwsgi tidak mampu mereload koneksi ke database postgres. solusi simplenya lihat contoh di bawah ini

from django.db import connections
from django.db.utils import InterfaceError
cursor = connections['default'].cursor()
 
def dictfetchall(cursor):
    "Return all rows from a cursor as a dict"
    columns = [col[0] for col in cursor.description]
    return [
        dict(zip(columns, row))
        for row in cursor.fetchall()
        ]
try:
    cursor.execute("""select * from ean_expedia_properties""")
    all_list = dictfetchall(cursor)    
except InterfaceError:
    cr = connections['default'].cursor()
    cr.execute("""select * from ean_expedia_properties""")
    all_list = dictfetchall(cr)
 
print(all_list)

 

good luck !

A collection of mongodb tutorials

mongodb

MongoDB  adalah sistem basis data berorentasi dokumen lintas platform. Diklasifikasikan sebagai basis data “NoSQL“, MongoDB menghindari struktur basis data relasional tabel berbasis tradisional yang mendukung JSON seperti dokumen dengan skema dinamis (MongoDB menyebutnya sebagai format BSON), membuat integrasi data dalam beberapa jenis aplikasi lebih mudah dan lebih cepat. Dirilis di bawah kombinasi dari GNU Affero General Public License dan Lisensi Apache (wikipedia)

di bawah ini beberapa link tutorial untuk belajar mongodb

Tuorial Point

merupakan situs berbagi tutotial yang bisa jadi tujuan utama belajar mongodb. tutorial point menyajikan tutorial dasar mongodb dengan sangat baik sehingga sangat pas untuk yang mau belajar mongodb

linkhttps://www.tutorialspoint.com/mongodb/index.htm

 

W3resource

selain tutorial point, w3resource juga membagi pengetahuan tentang database mongodb secara gratis.

link : http://www.w3resource.com/mongodb/nosql.php

 

Docs Mongodb

merupakan hal yang paling di referensikan bagi kamu yang mau mempelajari mongodb dan mengupas habis tentang apa itu mongodb

link : https://docs.mongodb.com/manual/

 

Python Mongodb

di sini kamu akan di kenalkan dengan python, dari proses instalasi sampai cara mengintegrasikan mongodb dan python

linkhttp://api.mongodb.com/python/current/tutorial.html

 

good luck …….!

Changing Remote Url Repository Github

Changing Remote Url Repository Github

The git remote set-url command takes two arguments:

  • An existing remote name. For example, origin or upstream are two common choices.
  • A new URL for the remote. For example:
    • If you’re updating to use HTTPS, your URL might look like:
      https://github.com/USERNAME/REPOSITORY.git
      
    • If you’re updating to use SSH, your URL might look like:
      git@github.com:USERNAME/REPOSITORY.git
      

Switching remote URLs from SSH to HTTPS

  1. Open Git Bash.
  2. Change the current working directory to your local project.
  3. List your existing remotes in order to get the name of the remote you want to change.
    git remote -v
    origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
    origin  git@github.com:USERNAME/REPOSITORY.git (push)
    
  4. Change your remote’s URL from SSH to HTTPS with the git remote set-url command.
    git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
    
  5. Verify that the remote URL has changed.
    git remote -v
    # Verify new remote URL
    origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
    origin  https://github.com/USERNAME/REPOSITORY.git (push)
    

The next time you git fetch, git pull, or git push to the remote repository, you’ll be asked for your GitHub username and password.

Switching remote URLs from HTTPS to SSH

  1. Open Git Bash.
  2. Change the current working directory to your local project.
  3. List your existing remotes in order to get the name of the remote you want to change.
    git remote -v
    origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
    origin  https://github.com/USERNAME/REPOSITORY.git (push)
    
  4. Change your remote’s URL from HTTPS to SSH with the git remote set-url command.
    git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
    
  5. Verify that the remote URL has changed.
    git remote -v
    # Verify new remote URL
    origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
    origin  git@github.com:USERNAME/REPOSITORY.git (push)
    

Troubleshooting

You may encounter these errors when trying to changing a remote.

No such remote ‘[name]’

This error means that the remote you tried to change doesn’t exist:

git remote set-url sofake https://github.com/octocat/Spoon-Knife
fatal: No such remote 'sofake'

Check that you’ve correctly typed the remote name.

Further reading

 

docs : https://help.github.com/

Dictionary Raw SQL Queries Django

Python Django

Bagaimana cara membuat dictionary pada raw SQL query django ?

pertama import library django connection

from django.db import connections
cursor = connections['default'].cursor()

 

kedua buat function untuk merubah index menjadi dictionary

def dictfetchall(cursor):
    "Return all rows from a cursor as a dict"
    columns = [col[0] for col in cursor.description]
    return [
        dict(zip(columns, row))
        for row in cursor.fetchall()
        ]

 

ketiga buat function untuk memanggil data dari database

def p_mapping_list(request):
    try:
        cursor.execute("""SELECT id, parent_id FROM test LIMIT 2""")
        all_list = dictfetchall(cursor)
        for p in all_list: 
            print(p.parent_id)
    except:
        cursor.close()
        connections['default'].cursor()

 

link dokumentasihttps://docs.djangoproject.com/en/1.11/topics/db/sql/

good luck …!