{"action":"created","issue":{"url":"https://api.github.com/repos/dimagi/commcare-hq/issues/10010","repository_url":"https://api.github.com/repos/dimagi/commcare-hq","labels_url":"https://api.github.com/repos/dimagi/commcare-hq/issues/10010/labels{/name}","comments_url":"https://api.github.com/repos/dimagi/commcare-hq/issues/10010/comments","events_url":"https://api.github.com/repos/dimagi/commcare-hq/issues/10010/events","html_url":"https://github.com/dimagi/commcare-hq/pull/10010","id":128064781,"number":10010,"title":"Finish two factor","user":{"login":"calellowitz","id":6844721,"avatar_url":"https://avatars.githubusercontent.com/u/6844721?v=3","gravatar_id":"","url":"https://api.github.com/users/calellowitz","html_url":"https://github.com/calellowitz","followers_url":"https://api.github.com/users/calellowitz/followers","following_url":"https://api.github.com/users/calellowitz/following{/other_user}","gists_url":"https://api.github.com/users/calellowitz/gists{/gist_id}","starred_url":"https://api.github.com/users/calellowitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calellowitz/subscriptions","organizations_url":"https://api.github.com/users/calellowitz/orgs","repos_url":"https://api.github.com/users/calellowitz/repos","events_url":"https://api.github.com/users/calellowitz/events{/privacy}","received_events_url":"https://api.github.com/users/calellowitz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":26,"created_at":"2016-01-22T02:01:25Z","updated_at":"2016-03-17T18:16:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dimagi/commcare-hq/pulls/10010","html_url":"https://github.com/dimagi/commcare-hq/pull/10010","diff_url":"https://github.com/dimagi/commcare-hq/pull/10010.diff","patch_url":"https://github.com/dimagi/commcare-hq/pull/10010.patch"},"body":"@emord @dimagi/product cc: @millerdev \r\n@nickpell might want to double check the billing code\r\nThis is the two factor auth work. I tried to deploy to staging but the deploy failed somewhere else, figured i would get it up for code review anyway, and I can try to deploy again in the morning.\r\nOnce merged, we will need to update local settings where its deployed to choose a gateway for sms and call support. I left that out of `settings.py` so if we wanted different ones on india and prod it would be easy to do, but there is currently only one written which uses twilio. It will work as is for token generation with an app, and until we add those settings calls and sms wont appear as options.\r\n\r\nscreenshots:\r\nHere is where a domain can turn it on (domains on advanced or higher can force users to use it):\r\n<img width=\"848\" alt=\"screen shot 2016-01-21 at 8 57 20 pm\" src=\"https://cloud.githubusercontent.com/assets/6844721/12500501/bbea4680-c081-11e5-9f46-f77c667d5b81.png\">\r\nHere is where it is in user settings (any user can turn it on):\r\n<img width=\"1419\" alt=\"screen shot 2016-01-21 at 8 57 37 pm\" src=\"https://cloud.githubusercontent.com/assets/6844721/12500513/d9408640-c081-11e5-9c38-ef3561ee7e57.png\">\r\n"},"comment":{"url":"https://api.github.com/repos/dimagi/commcare-hq/issues/comments/198011735","html_url":"https://github.com/dimagi/commcare-hq/pull/10010#issuecomment-198011735","issue_url":"https://api.github.com/repos/dimagi/commcare-hq/issues/10010","id":198011735,"user":{"login":"orangejenny","id":1486591,"avatar_url":"https://avatars.githubusercontent.com/u/1486591?v=3","gravatar_id":"","url":"https://api.github.com/users/orangejenny","html_url":"https://github.com/orangejenny","followers_url":"https://api.github.com/users/orangejenny/followers","following_url":"https://api.github.com/users/orangejenny/following{/other_user}","gists_url":"https://api.github.com/users/orangejenny/gists{/gist_id}","starred_url":"https://api.github.com/users/orangejenny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orangejenny/subscriptions","organizations_url":"https://api.github.com/users/orangejenny/orgs","repos_url":"https://api.github.com/users/orangejenny/repos","events_url":"https://api.github.com/users/orangejenny/events{/privacy}","received_events_url":"https://api.github.com/users/orangejenny/received_events","type":"User","site_admin":false},"created_at":"2016-03-17T18:16:10Z","updated_at":"2016-03-17T18:16:10Z","body":"Merging!"}}