{"action":"closed","issue":{"url":"https://api.github.com/repos/cryptonomex/graphene/issues/139","labels_url":"https://api.github.com/repos/cryptonomex/graphene/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/cryptonomex/graphene/issues/139/comments","events_url":"https://api.github.com/repos/cryptonomex/graphene/issues/139/events","html_url":"https://github.com/cryptonomex/graphene/issues/139","id":93379163,"number":139,"title":"Specify API restrictions in config file","user":{"login":"theoreticalbts","id":10215982,"avatar_url":"https://avatars.githubusercontent.com/u/10215982?v=3","gravatar_id":"","url":"https://api.github.com/users/theoreticalbts","html_url":"https://github.com/theoreticalbts","followers_url":"https://api.github.com/users/theoreticalbts/followers","following_url":"https://api.github.com/users/theoreticalbts/following{/other_user}","gists_url":"https://api.github.com/users/theoreticalbts/gists{/gist_id}","starred_url":"https://api.github.com/users/theoreticalbts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoreticalbts/subscriptions","organizations_url":"https://api.github.com/users/theoreticalbts/orgs","repos_url":"https://api.github.com/users/theoreticalbts/repos","events_url":"https://api.github.com/users/theoreticalbts/events{/privacy}","received_events_url":"https://api.github.com/users/theoreticalbts/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cryptonomex/graphene/labels/api","name":"api","color":"fbca04"},{"url":"https://api.github.com/repos/cryptonomex/graphene/labels/security","name":"security","color":"eb6420"}],"state":"closed","locked":false,"assignee":{"login":"theoreticalbts","id":10215982,"avatar_url":"https://avatars.githubusercontent.com/u/10215982?v=3","gravatar_id":"","url":"https://api.github.com/users/theoreticalbts","html_url":"https://github.com/theoreticalbts","followers_url":"https://api.github.com/users/theoreticalbts/followers","following_url":"https://api.github.com/users/theoreticalbts/following{/other_user}","gists_url":"https://api.github.com/users/theoreticalbts/gists{/gist_id}","starred_url":"https://api.github.com/users/theoreticalbts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoreticalbts/subscriptions","organizations_url":"https://api.github.com/users/theoreticalbts/orgs","repos_url":"https://api.github.com/users/theoreticalbts/repos","events_url":"https://api.github.com/users/theoreticalbts/events{/privacy}","received_events_url":"https://api.github.com/users/theoreticalbts/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/cryptonomex/graphene/milestones/1","html_url":"https://github.com/cryptonomex/graphene/milestones/alpha","labels_url":"https://api.github.com/repos/cryptonomex/graphene/milestones/1/labels","id":1173116,"number":1,"title":"alpha","description":"","creator":{"login":"vikramrajkumar","id":793567,"avatar_url":"https://avatars.githubusercontent.com/u/793567?v=3","gravatar_id":"","url":"https://api.github.com/users/vikramrajkumar","html_url":"https://github.com/vikramrajkumar","followers_url":"https://api.github.com/users/vikramrajkumar/followers","following_url":"https://api.github.com/users/vikramrajkumar/following{/other_user}","gists_url":"https://api.github.com/users/vikramrajkumar/gists{/gist_id}","starred_url":"https://api.github.com/users/vikramrajkumar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikramrajkumar/subscriptions","organizations_url":"https://api.github.com/users/vikramrajkumar/orgs","repos_url":"https://api.github.com/users/vikramrajkumar/repos","events_url":"https://api.github.com/users/vikramrajkumar/events{/privacy}","received_events_url":"https://api.github.com/users/vikramrajkumar/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":55,"state":"open","created_at":"2015-06-19T21:54:27Z","updated_at":"2015-07-08T18:03:04Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-07-06T21:16:32Z","updated_at":"2015-07-08T18:03:04Z","closed_at":"2015-07-08T18:03:04Z","body":"\r\nNow that we know we have sensitive API methods -- see #118 -- we need a way to identify API users, and rules specifying who is allowed to access what.\r\n\r\nFor now I'm going to implement a simple system allowing to specify for each user a `(username, password, list_of_allowed_apis)` tuple in the config file.  Username `anon`, password `graphene` will be able to access public access API's in the default configuration.\r\n"}}