{"action":"created","issue":{"url":"https://api.github.com/repos/meanjs/mean/issues/1163","repository_url":"https://api.github.com/repos/meanjs/mean","labels_url":"https://api.github.com/repos/meanjs/mean/issues/1163/labels{/name}","comments_url":"https://api.github.com/repos/meanjs/mean/issues/1163/comments","events_url":"https://api.github.com/repos/meanjs/mean/issues/1163/events","html_url":"https://github.com/meanjs/mean/pull/1163","id":128965035,"number":1163,"title":"feat(core): JWT Authentication","user":{"login":"trainerbill","id":3578259,"avatar_url":"https://avatars.githubusercontent.com/u/3578259?v=3","gravatar_id":"","url":"https://api.github.com/users/trainerbill","html_url":"https://github.com/trainerbill","followers_url":"https://api.github.com/users/trainerbill/followers","following_url":"https://api.github.com/users/trainerbill/following{/other_user}","gists_url":"https://api.github.com/users/trainerbill/gists{/gist_id}","starred_url":"https://api.github.com/users/trainerbill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trainerbill/subscriptions","organizations_url":"https://api.github.com/users/trainerbill/orgs","repos_url":"https://api.github.com/users/trainerbill/repos","events_url":"https://api.github.com/users/trainerbill/events{/privacy}","received_events_url":"https://api.github.com/users/trainerbill/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/meanjs/mean/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"codydaig","id":2314748,"avatar_url":"https://avatars.githubusercontent.com/u/2314748?v=3","gravatar_id":"","url":"https://api.github.com/users/codydaig","html_url":"https://github.com/codydaig","followers_url":"https://api.github.com/users/codydaig/followers","following_url":"https://api.github.com/users/codydaig/following{/other_user}","gists_url":"https://api.github.com/users/codydaig/gists{/gist_id}","starred_url":"https://api.github.com/users/codydaig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codydaig/subscriptions","organizations_url":"https://api.github.com/users/codydaig/orgs","repos_url":"https://api.github.com/users/codydaig/repos","events_url":"https://api.github.com/users/codydaig/events{/privacy}","received_events_url":"https://api.github.com/users/codydaig/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/meanjs/mean/milestones/6","html_url":"https://github.com/meanjs/mean/milestones/0.5.0","labels_url":"https://api.github.com/repos/meanjs/mean/milestones/6/labels","id":1213421,"number":6,"title":"0.5.0","description":"","creator":{"login":"ilanbiala","id":3695164,"avatar_url":"https://avatars.githubusercontent.com/u/3695164?v=3","gravatar_id":"","url":"https://api.github.com/users/ilanbiala","html_url":"https://github.com/ilanbiala","followers_url":"https://api.github.com/users/ilanbiala/followers","following_url":"https://api.github.com/users/ilanbiala/following{/other_user}","gists_url":"https://api.github.com/users/ilanbiala/gists{/gist_id}","starred_url":"https://api.github.com/users/ilanbiala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilanbiala/subscriptions","organizations_url":"https://api.github.com/users/ilanbiala/orgs","repos_url":"https://api.github.com/users/ilanbiala/repos","events_url":"https://api.github.com/users/ilanbiala/events{/privacy}","received_events_url":"https://api.github.com/users/ilanbiala/received_events","type":"User","site_admin":false},"open_issues":25,"closed_issues":67,"state":"open","created_at":"2015-07-17T18:54:42Z","updated_at":"2016-02-03T21:04:27Z","due_on":null,"closed_at":null},"comments":38,"created_at":"2016-01-26T22:34:25Z","updated_at":"2016-02-04T22:36:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/meanjs/mean/pulls/1163","html_url":"https://github.com/meanjs/mean/pull/1163","diff_url":"https://github.com/meanjs/mean/pull/1163.diff","patch_url":"https://github.com/meanjs/mean/pull/1163.patch"},"body":"I took a stab at redoing the Authentication in favor of JWT.  I am using passport-jwt to leverage the existing authentication structure.  The Authentication service now holds a user and token and uses localStorage to store the token.  I am only storing the token.  If you refresh the page the AuthService will look for a token in local storage and if it exists hits the users/me route to get the user.  The auth service also sets the $http header for Authorization if the token exists so you don't have to add it to other services.  Currently working:\r\n\r\n1.  Login\r\n2.  Sign Up\r\n3.  Persistent on Refresh and users/me route\r\n4.  Edit Profile\r\n\r\nI want to get buy in from contributors before going any further.  This PR will touch a lot of files and I don't want to get all the way done and someone has a problem and this ends up in PR hell.  If I can get some feedback and +1's I will have this done by Friday this week.  Also would like a volunteer to help fix the tests when this is done and ready.  Thanks to @mleanos for the server side kick start.\r\n\r\n@mleanos @lirantal @ilanbiala @codydaig \r\n\r\nFixes https://github.com/meanjs/mean/issues/389\r\nFixes https://github.com/meanjs/mean/issues/1086\r\n"},"comment":{"url":"https://api.github.com/repos/meanjs/mean/issues/comments/180083312","html_url":"https://github.com/meanjs/mean/pull/1163#issuecomment-180083312","issue_url":"https://api.github.com/repos/meanjs/mean/issues/1163","id":180083312,"user":{"login":"trainerbill","id":3578259,"avatar_url":"https://avatars.githubusercontent.com/u/3578259?v=3","gravatar_id":"","url":"https://api.github.com/users/trainerbill","html_url":"https://github.com/trainerbill","followers_url":"https://api.github.com/users/trainerbill/followers","following_url":"https://api.github.com/users/trainerbill/following{/other_user}","gists_url":"https://api.github.com/users/trainerbill/gists{/gist_id}","starred_url":"https://api.github.com/users/trainerbill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trainerbill/subscriptions","organizations_url":"https://api.github.com/users/trainerbill/orgs","repos_url":"https://api.github.com/users/trainerbill/repos","events_url":"https://api.github.com/users/trainerbill/events{/privacy}","received_events_url":"https://api.github.com/users/trainerbill/received_events","type":"User","site_admin":false},"created_at":"2016-02-04T22:36:44Z","updated_at":"2016-02-04T22:36:44Z","body":"@trendzetter just clone the repo then checkout the branch and do npm install"}}