Implement JWT On Django Rest

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Parim Eyewear Kacamata Sunglasses Sports Ultem - Putih

Parim Eyewear Kacamata Sunglasses Sports Ultem - Putih

Kacamata sunglasses sports dari Parim Eyewear hadir dengan desainnya yang stylish dan trendy menjadikannya aksesori sempurna untuk melengkapi penampilan dalam berbagai gaya busana. Dirancang dengan material berkualitas yang nyaman dan dapat digunakan untuk melindungi mata dari paparan sinar matahari.

Free Klik Disini !

Django Rest Framework merupakan framework untuk membuat web RESTful API. Django Rest Framework sudah banyak digunakan oleh perusahan-perusahan besar seperti Mozilla, Heroku, Eventbrite, dan lain — lain. Penggunaan Django Rest Framework terbilang mudah, untuk suatu model kita tidak perlu mendefinisikan method GET, POST, UPDATE, dll, Django Rest Framework lah yang mengatur semua method request.

Pada tutorial sebelumnya kita sudah mempelajari tentang


selanjutnya kali ini kita akan mengimplementasikan JWT pada Django Rest Framework
install jwt pada django :

pip install djangorestframework-jwt

tambahkan pada setting.py script di bawah ini untuk membuat screet key dan token expired

SECRET_KEY = "12345"
EXPIRY_TIME = datetime.timedelta(seconds=20)
JWT_AUTH = {
'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=20), # Token expires * seconds after being issued
'JWT_ALLOW_REFRESH': True,
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(seconds=120), # Token can be refreshed up to * seconds after being issued
}

 

buat function untuk encode dan decode JWT

def get_token(request):
username =request.GET.get('username')
password = request.GET.get('password')
if username and password is not None:
payload = {
'username': username,
'password':password,
'exp':datetime.utcnow() + settings.EXPIRY_TIME
}
token = jwt.encode(payload, settings.SECRET_KEY, algorithm='HS256')
token =str(token).replace("b'","")
token = str(token).replace("'", "")
token= {'token':token}
return HttpResponse(
json.dumps(token)
)
else:
return HttpResponse(
json.dumps({'Error': "Invalid credentials"}),
status=400
)
def get_verivy_token(request):
token =request.GET.get('token')
try:
payload = jwt.decode(token, settings.SECRET_KEY, algorithm='HS256')
return HttpResponse(
json.dumps(payload),
status=200
)

except jwt.ExpiredSignature:
return HttpResponse(json.dumps({'Error': "Token is invalid"}))
except:
return HttpResponse(json.dumps({'Error': "Token DoesNotExist"}))

baca artikel lainya :