{"action":"created","issue":{"url":"https://api.github.com/repos/Wikia/helios/issues/121","labels_url":"https://api.github.com/repos/Wikia/helios/issues/121/labels{/name}","comments_url":"https://api.github.com/repos/Wikia/helios/issues/121/comments","events_url":"https://api.github.com/repos/Wikia/helios/issues/121/events","html_url":"https://github.com/Wikia/helios/pull/121","id":108401023,"number":121,"title":"Create an auth interface for purging all of a users access tokens","user":{"login":"drsnyder","id":21621,"avatar_url":"https://avatars.githubusercontent.com/u/21621?v=3","gravatar_id":"","url":"https://api.github.com/users/drsnyder","html_url":"https://github.com/drsnyder","followers_url":"https://api.github.com/users/drsnyder/followers","following_url":"https://api.github.com/users/drsnyder/following{/other_user}","gists_url":"https://api.github.com/users/drsnyder/gists{/gist_id}","starred_url":"https://api.github.com/users/drsnyder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drsnyder/subscriptions","organizations_url":"https://api.github.com/users/drsnyder/orgs","repos_url":"https://api.github.com/users/drsnyder/repos","events_url":"https://api.github.com/users/drsnyder/events{/privacy}","received_events_url":"https://api.github.com/users/drsnyder/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-25T20:19:14Z","updated_at":"2015-09-25T20:46:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Wikia/helios/pulls/121","html_url":"https://github.com/Wikia/helios/pull/121","diff_url":"https://github.com/Wikia/helios/pull/121.diff","patch_url":"https://github.com/Wikia/helios/pull/121.patch"},"body":"This PR creates an `auth` interface with `PurgeAllUserAccessTokens` that when called should effectively log the user out of all of their sessions. This is accomplished by deleting their session token set and all of the keys associated with their tokens.\r\n\r\nAlong with this PR, I'm adding an interface to the redis storage implementation so that its functionality can be mocked in the auth service tests. With this interface we might want to also change the call signatures of some of the auth methods since they are currently accepting a concrete implementation of the redis client as a parameter. I'm going to capture that in another ticket.\r\n\r\nhttps://wikia-inc.atlassian.net/browse/SERVICES-826\r\n\r\nTODO\r\n* [ ] integration tests for the new redis command\r\n* [ ] fix the initialization of the auth service in the controllers"},"comment":{"url":"https://api.github.com/repos/Wikia/helios/issues/comments/143349224","html_url":"https://github.com/Wikia/helios/pull/121#issuecomment-143349224","issue_url":"https://api.github.com/repos/Wikia/helios/issues/121","id":143349224,"user":{"login":"nmonterroso","id":325800,"avatar_url":"https://avatars.githubusercontent.com/u/325800?v=3","gravatar_id":"","url":"https://api.github.com/users/nmonterroso","html_url":"https://github.com/nmonterroso","followers_url":"https://api.github.com/users/nmonterroso/followers","following_url":"https://api.github.com/users/nmonterroso/following{/other_user}","gists_url":"https://api.github.com/users/nmonterroso/gists{/gist_id}","starred_url":"https://api.github.com/users/nmonterroso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nmonterroso/subscriptions","organizations_url":"https://api.github.com/users/nmonterroso/orgs","repos_url":"https://api.github.com/users/nmonterroso/repos","events_url":"https://api.github.com/users/nmonterroso/events{/privacy}","received_events_url":"https://api.github.com/users/nmonterroso/received_events","type":"User","site_admin":false},"created_at":"2015-09-25T20:46:19Z","updated_at":"2015-09-25T20:46:19Z","body":"I think that this is a good step in moving us away from `osin`, since potentially we could move away the methods `LoadAccess`, `RemoveAccess`, and other related methods currently in `RedisStorage` into the `AuthTokenStorage` interface."}}