{"action":"closed","issue":{"url":"https://api.github.com/repos/qhacks/qhacks-dashboard/issues/162","repository_url":"https://api.github.com/repos/qhacks/qhacks-dashboard","labels_url":"https://api.github.com/repos/qhacks/qhacks-dashboard/issues/162/labels{/name}","comments_url":"https://api.github.com/repos/qhacks/qhacks-dashboard/issues/162/comments","events_url":"https://api.github.com/repos/qhacks/qhacks-dashboard/issues/162/events","html_url":"https://github.com/qhacks/qhacks-dashboard/issues/162","id":369920998,"node_id":"MDU6SXNzdWUzNjk5MjA5OTg=","number":162,"title":"Build OAuth 2.0 server","user":{"login":"RobertWSaunders","id":13367451,"node_id":"MDQ6VXNlcjEzMzY3NDUx","avatar_url":"https://avatars2.githubusercontent.com/u/13367451?v=4","gravatar_id":"","url":"https://api.github.com/users/RobertWSaunders","html_url":"https://github.com/RobertWSaunders","followers_url":"https://api.github.com/users/RobertWSaunders/followers","following_url":"https://api.github.com/users/RobertWSaunders/following{/other_user}","gists_url":"https://api.github.com/users/RobertWSaunders/gists{/gist_id}","starred_url":"https://api.github.com/users/RobertWSaunders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobertWSaunders/subscriptions","organizations_url":"https://api.github.com/users/RobertWSaunders/orgs","repos_url":"https://api.github.com/users/RobertWSaunders/repos","events_url":"https://api.github.com/users/RobertWSaunders/events{/privacy}","received_events_url":"https://api.github.com/users/RobertWSaunders/received_events","type":"User","site_admin":false},"labels":[{"id":751587020,"node_id":"MDU6TGFiZWw3NTE1ODcwMjA=","url":"https://api.github.com/repos/qhacks/qhacks-dashboard/labels/priority:%20blocker%20(high)","name":"priority: blocker (high)","color":"d32f2f","default":false},{"id":1089005622,"node_id":"MDU6TGFiZWwxMDg5MDA1NjIy","url":"https://api.github.com/repos/qhacks/qhacks-dashboard/labels/type:%20feature%20request","name":"type: feature request","color":"edf298","default":false}],"state":"closed","locked":false,"assignee":{"login":"RobertWSaunders","id":13367451,"node_id":"MDQ6VXNlcjEzMzY3NDUx","avatar_url":"https://avatars2.githubusercontent.com/u/13367451?v=4","gravatar_id":"","url":"https://api.github.com/users/RobertWSaunders","html_url":"https://github.com/RobertWSaunders","followers_url":"https://api.github.com/users/RobertWSaunders/followers","following_url":"https://api.github.com/users/RobertWSaunders/following{/other_user}","gists_url":"https://api.github.com/users/RobertWSaunders/gists{/gist_id}","starred_url":"https://api.github.com/users/RobertWSaunders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobertWSaunders/subscriptions","organizations_url":"https://api.github.com/users/RobertWSaunders/orgs","repos_url":"https://api.github.com/users/RobertWSaunders/repos","events_url":"https://api.github.com/users/RobertWSaunders/events{/privacy}","received_events_url":"https://api.github.com/users/RobertWSaunders/received_events","type":"User","site_admin":false},"assignees":[{"login":"RobertWSaunders","id":13367451,"node_id":"MDQ6VXNlcjEzMzY3NDUx","avatar_url":"https://avatars2.githubusercontent.com/u/13367451?v=4","gravatar_id":"","url":"https://api.github.com/users/RobertWSaunders","html_url":"https://github.com/RobertWSaunders","followers_url":"https://api.github.com/users/RobertWSaunders/followers","following_url":"https://api.github.com/users/RobertWSaunders/following{/other_user}","gists_url":"https://api.github.com/users/RobertWSaunders/gists{/gist_id}","starred_url":"https://api.github.com/users/RobertWSaunders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobertWSaunders/subscriptions","organizations_url":"https://api.github.com/users/RobertWSaunders/orgs","repos_url":"https://api.github.com/users/RobertWSaunders/repos","events_url":"https://api.github.com/users/RobertWSaunders/events{/privacy}","received_events_url":"https://api.github.com/users/RobertWSaunders/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/qhacks/qhacks-dashboard/milestones/2","html_url":"https://github.com/qhacks/qhacks-dashboard/milestone/2","labels_url":"https://api.github.com/repos/qhacks/qhacks-dashboard/milestones/2/labels","id":3471854,"node_id":"MDk6TWlsZXN0b25lMzQ3MTg1NA==","number":2,"title":"Dolores Stage 1","description":"","creator":{"login":"RobertWSaunders","id":13367451,"node_id":"MDQ6VXNlcjEzMzY3NDUx","avatar_url":"https://avatars2.githubusercontent.com/u/13367451?v=4","gravatar_id":"","url":"https://api.github.com/users/RobertWSaunders","html_url":"https://github.com/RobertWSaunders","followers_url":"https://api.github.com/users/RobertWSaunders/followers","following_url":"https://api.github.com/users/RobertWSaunders/following{/other_user}","gists_url":"https://api.github.com/users/RobertWSaunders/gists{/gist_id}","starred_url":"https://api.github.com/users/RobertWSaunders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobertWSaunders/subscriptions","organizations_url":"https://api.github.com/users/RobertWSaunders/orgs","repos_url":"https://api.github.com/users/RobertWSaunders/repos","events_url":"https://api.github.com/users/RobertWSaunders/events{/privacy}","received_events_url":"https://api.github.com/users/RobertWSaunders/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":25,"state":"open","created_at":"2018-07-04T03:02:38Z","updated_at":"2018-12-10T02:01:28Z","due_on":"2018-11-30T08:00:00Z","closed_at":null},"comments":2,"created_at":"2018-10-14T16:53:37Z","updated_at":"2018-12-10T02:01:28Z","closed_at":"2018-12-10T02:01:28Z","author_association":"MEMBER","body":"## Summary\r\n\r\nIf we plan on allowing developers at QHacks to use the QHacks API that will mean giving third party applications the ability to access our users sensitive data. Currently we have only had experience giving first party applications (the web client) access to our user information. Because they are first party applications and we were in control of how users data was used we didn't have to put much thought into authentication and authorization. With the dashboard becoming more complex it is time that we think hard about how we will handle authentication and authorization for both our first party and third party apps. Thankfully there is a framework built for exactly this, OAuth 2.0, you can view the specification for the framework [here](https://tools.ietf.org/html/rfc6749), and more friendly web based  book on the framework [here](https://www.oauth.com/). To improve security we will be building an OAuth 2.0 server for the dashboard.\r\n\r\n### Motivation\r\n\r\nImprove security, robustness, and support third party developers on our platform!\r\n\r\nAs I read through the spec and come up with a design for our platform I will be updating this issue."}}
{"actor":{"display_login":"RobertWSaunders"}}