angularjs - How does refreshing of jwt token work in django REST angular -
i using this
http://getblimp.github.io/django-rest-framework-jwt/#refresh-token
i confused how make work. have done settings said. how make work.
currently have code first token when user submits login , save token in cookie store. request use token requests. have seen token expries , don't want that. thats why using this
$http .post('/api-token-auth/', logdata) .then(function (response) { // assumes if ok, response object data, if not, string error // customize according api if (!response.data.token) { _vm.authmsg = 'incorrect credentials.'; deferred.reject('incorrect credentials.'); } else { $cookiestore.put('djangotoken', response.data.token); $http.defaults.headers.common.authorization = 'jwt ' + response.data.token; $http.get('/api/account/restricted/').then(function (response) { authservice.loginconfirmed(); $cookiestore.put('currentuser', response.data); $rootscope.$broadcast('user:login'); }); } deferred.resolve(response.data); }, function (x) { _vm.authmsg = 'server request error'; deferred.reject('server request error'); });
this how using token in every request
$http.defaults.headers.common['authorization'] = 'jwt ' + $cookiestore.get('djangotoken');
now need make refresh token work. mean user has manually refresh token or system automatically it. , @ point need visit url
url(r'^api-token-refresh/', 'rest_framework_jwt.views.refresh_jwt_token'),
the documentation referenced quite explicit. pass in existing token refresh endpoint follows [snipped description]:
$ curl -x post -h "content-type: application/json" -d '{"token":"<existing_token>"}' http://localhost:8000/api-token-refresh/
you have invoke refresh url make work. means either client needs monitor when needs refresh token , invoke url, or put logic in server invoke url subset of requests expect user take long time traverse them (e.g. filling in long multi-page form).
if decide go latter might find this useful.
Comments
Post a Comment