Postingan lainnya
Melakukan auth token di angularjs
Kali ini saya akan share cara melakukan auth supaya pas refresh browser token nya masih tersimpan Pastikan supaya kamu paham tentang auth, kamu harus tahu dulu dasar2 angularjs Ok langsung saja kita buat factory untuk melakukan cek token
angular.module('app')
.factory('auth', function($rootScope, $q, $window, $location) {
return {
request: function(config) {
config.headers = config.headers || {};
if ($window.sessionStorage.token) {
config.headers.Authorization = $window.sessionStorage.token;
}
return config;
},
{
response: function(response) {
if (response.status === 401) {
$location.path('#/login');
}
return response || $q.when(response);
}
}
};
});
untuk code bagian request ini di gunakan untuk menambahkan headers di setiap kita melakukan get/post etc contoh gambar ini contoh untuk penggunaan di postman sedangkan code bagian response ini di gunakan untuk mengecek balesan dari server karna di percobaan ini di server kalau salah token saya kasih 401, maka kalau kita dapat respon itu langsung redirect ke halaman login nah untuk kita mengecek apakah kita sudah berhasil dapatkan token apa tidak kita bisa gunakan if else di setiap controller contoh
if ($window.sessionStorage.token) {
$location.path('/home');
}
//buat cek kalau ada token redirect ke home
if (!$window.sessionStorage.token) {
$location.path('/login');
}
//buat cek kalau tidak ada token
dan tambahkan
$httpProvider.interceptors.push('auth');
di bagian angular.config, biasanya sih file app.js pastikan juga di bagian controller function di kasih $window dan $location
8 Jawaban:
enkripsi dibelakang pakai simetric atau asimetric enkripsi?
saya kurang tahu yang di tanyakan, tapi saya pakai expressjs dengan cara ini
var token = jwt.sign(data, config.secret, {
expiresIn: '60m',
algorithm: 'HS256'
});
iya mas
var token = req.body.token || req.query.token || req.headers.authorization;
if(token){
jwt.verify(token, config.secret, function(err, decoded){
if (err) {
res.json({success: false, message: 'Failed to authenticate token'});
}else {
req.decoded = decoded;
next();
}
});
}else {
return res.status(403).send({
success: false,
message: 'No token provided.'
});
}
kalau buat untuk sisi server nya bingung juga mas, soalnya banyak banget bahasa buat bikin sisi server nya :D kalau mau coba ini mungkin bisa belajar lewat google plus sdk. ini salah satu cara https://github.com/mrzmyr/angular-google-plus