{"action":"created","issue":{"url":"https://api.github.com/repos/terrestris/shogun2/issues/97","labels_url":"https://api.github.com/repos/terrestris/shogun2/issues/97/labels{/name}","comments_url":"https://api.github.com/repos/terrestris/shogun2/issues/97/comments","events_url":"https://api.github.com/repos/terrestris/shogun2/issues/97/events","html_url":"https://github.com/terrestris/shogun2/pull/97","id":122519946,"number":97,"title":"Reset & update password","user":{"login":"dnlkoch","id":1137620,"avatar_url":"https://avatars.githubusercontent.com/u/1137620?v=3","gravatar_id":"","url":"https://api.github.com/users/dnlkoch","html_url":"https://github.com/dnlkoch","followers_url":"https://api.github.com/users/dnlkoch/followers","following_url":"https://api.github.com/users/dnlkoch/following{/other_user}","gists_url":"https://api.github.com/users/dnlkoch/gists{/gist_id}","starred_url":"https://api.github.com/users/dnlkoch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnlkoch/subscriptions","organizations_url":"https://api.github.com/users/dnlkoch/orgs","repos_url":"https://api.github.com/users/dnlkoch/repos","events_url":"https://api.github.com/users/dnlkoch/events{/privacy}","received_events_url":"https://api.github.com/users/dnlkoch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-16T14:48:58Z","updated_at":"2015-12-22T13:21:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/terrestris/shogun2/pulls/97","html_url":"https://github.com/terrestris/shogun2/pull/97","diff_url":"https://github.com/terrestris/shogun2/pull/97.diff","patch_url":"https://github.com/terrestris/shogun2/pull/97.patch"},"body":"The logic presented in this PR allows any registered SHOGun2-User to reset their password manually.\r\n\r\nThis is done by the following workflow:\r\n\r\n* A user requests a password-reset by sending their account-email to the interface `resetPassword.action`, e.g.\r\n\r\n   `http://localhost:8080/shogun2/user/resetPassword.action?email=user@shogun2.de`\r\n\r\n* If the mail really exists, a new `PasswordResetToken` containing a unique token, expire date and user reference is being generated and persisted.\r\n\r\n* A special link for updating the password including this token and id will be send to the user, e.g.:\r\n\r\n  `http://localhost:8080/shogun2/login/#passwordchange?id={{token-id}}&token={{token}}`\r\n\r\n* The user will be redirected to a (client-)page to update their password if they follow the link.\r\n\r\n* The client sends a request to the `changePassword.action` with the provided token, token-id and password, e.g.:\r\n\r\n   `http://localhost:8080/shogun2/user/changePassword.action?password={{newPassword}}&id={{tokenId}}&token={{token}}`\r\n\r\n* If the token is valid (token exists and is not expired) the user will be authorized to change their password and the token will be deleted."},"comment":{"url":"https://api.github.com/repos/terrestris/shogun2/issues/comments/166615254","html_url":"https://github.com/terrestris/shogun2/pull/97#issuecomment-166615254","issue_url":"https://api.github.com/repos/terrestris/shogun2/issues/97","id":166615254,"user":{"login":"marcjansen","id":227934,"avatar_url":"https://avatars.githubusercontent.com/u/227934?v=3","gravatar_id":"","url":"https://api.github.com/users/marcjansen","html_url":"https://github.com/marcjansen","followers_url":"https://api.github.com/users/marcjansen/followers","following_url":"https://api.github.com/users/marcjansen/following{/other_user}","gists_url":"https://api.github.com/users/marcjansen/gists{/gist_id}","starred_url":"https://api.github.com/users/marcjansen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcjansen/subscriptions","organizations_url":"https://api.github.com/users/marcjansen/orgs","repos_url":"https://api.github.com/users/marcjansen/repos","events_url":"https://api.github.com/users/marcjansen/events{/privacy}","received_events_url":"https://api.github.com/users/marcjansen/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T13:21:36Z","updated_at":"2015-12-22T13:21:36Z","body":"This looks good @dnlkoch. I have added some comments and would value the feedback of @buehner for certain aspects.\r\n\r\nThe comments with regard to `Exception` should not block this, as we need general consensus for this thing.\r\n\r\nI am :+1: on merging, but would love to heart @buehner's thoughts first.\r\n\r\nThanks anyhow!"}}