discourse/spec/fixtures/onebox/githubcommit.response

88 lines
5.8 KiB
Plaintext

{
"sha": "803d023e2307309f8b776ab3b8b7e38ba91c0919",
"commit": {
"author": {
"name": "Sam",
"email": "sam.saffron@gmail.com",
"date": "2013-08-02T02:03:53Z"
},
"committer": {
"name": "Sam",
"email": "sam.saffron@gmail.com",
"date": "2013-08-02T02:16:44Z"
},
"message": "Fixed GitHub auth, GitHub can provide us with a valid email - so automatically log in for those cases",
"tree": {
"sha": "8e0f3e17bb5ee3edc5701229dc1ad82dc5a41de6",
"url": "https://api.github.com/repos/discourse/discourse/git/trees/8e0f3e17bb5ee3edc5701229dc1ad82dc5a41de6"
},
"url": "https://api.github.com/repos/discourse/discourse/git/commits/803d023e2307309f8b776ab3b8b7e38ba91c0919",
"comment_count": 0
},
"url": "https://api.github.com/repos/discourse/discourse/commits/803d023e2307309f8b776ab3b8b7e38ba91c0919",
"html_url": "https://github.com/discourse/discourse/commit/803d023e2307309f8b776ab3b8b7e38ba91c0919",
"comments_url": "https://api.github.com/repos/discourse/discourse/commits/803d023e2307309f8b776ab3b8b7e38ba91c0919/comments",
"author": {
"login": "SamSaffron",
"id": 5213,
"avatar_url": "https://2.gravatar.com/avatar/3dcae8378d46c244172a115c28ca49ce?d=https%3A%2F%2Fidenticons.github.com%2F7d3010c11d08cf990b7614d2c2ca9098.png",
"gravatar_id": "3dcae8378d46c244172a115c28ca49ce",
"url": "https://api.github.com/users/SamSaffron",
"html_url": "https://github.com/SamSaffron",
"followers_url": "https://api.github.com/users/SamSaffron/followers",
"following_url": "https://api.github.com/users/SamSaffron/following{/other_user}",
"gists_url": "https://api.github.com/users/SamSaffron/gists{/gist_id}",
"starred_url": "https://api.github.com/users/SamSaffron/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/SamSaffron/subscriptions",
"organizations_url": "https://api.github.com/users/SamSaffron/orgs",
"repos_url": "https://api.github.com/users/SamSaffron/repos",
"events_url": "https://api.github.com/users/SamSaffron/events{/privacy}",
"received_events_url": "https://api.github.com/users/SamSaffron/received_events",
"type": "User"
},
"committer": {
"login": "SamSaffron",
"id": 5213,
"avatar_url": "https://2.gravatar.com/avatar/3dcae8378d46c244172a115c28ca49ce?d=https%3A%2F%2Fidenticons.github.com%2F7d3010c11d08cf990b7614d2c2ca9098.png",
"gravatar_id": "3dcae8378d46c244172a115c28ca49ce",
"url": "https://api.github.com/users/SamSaffron",
"html_url": "https://github.com/SamSaffron",
"followers_url": "https://api.github.com/users/SamSaffron/followers",
"following_url": "https://api.github.com/users/SamSaffron/following{/other_user}",
"gists_url": "https://api.github.com/users/SamSaffron/gists{/gist_id}",
"starred_url": "https://api.github.com/users/SamSaffron/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/SamSaffron/subscriptions",
"organizations_url": "https://api.github.com/users/SamSaffron/orgs",
"repos_url": "https://api.github.com/users/SamSaffron/repos",
"events_url": "https://api.github.com/users/SamSaffron/events{/privacy}",
"received_events_url": "https://api.github.com/users/SamSaffron/received_events",
"type": "User"
},
"parents": [
{
"sha": "cf333268d5b48946a659f173716aecc1096d7e66",
"url": "https://api.github.com/repos/discourse/discourse/commits/cf333268d5b48946a659f173716aecc1096d7e66",
"html_url": "https://github.com/discourse/discourse/commit/cf333268d5b48946a659f173716aecc1096d7e66"
}
],
"stats": {
"total": 20,
"additions": 18,
"deletions": 2
},
"files": [
{
"sha": "0edc93bbf3d28a5020ee8b2d44ed68d4e3706a1f",
"filename": "app/controllers/users/omniauth_callbacks_controller.rb",
"status": "modified",
"additions": 18,
"deletions": 2,
"changes": 20,
"blob_url": "https://github.com/discourse/discourse/blob/803d023e2307309f8b776ab3b8b7e38ba91c0919/app/controllers/users/omniauth_callbacks_controller.rb",
"raw_url": "https://github.com/discourse/discourse/raw/803d023e2307309f8b776ab3b8b7e38ba91c0919/app/controllers/users/omniauth_callbacks_controller.rb",
"contents_url": "https://api.github.com/repos/discourse/discourse/contents/app/controllers/users/omniauth_callbacks_controller.rb?ref=803d023e2307309f8b776ab3b8b7e38ba91c0919",
"patch": "@@ -210,6 +210,8 @@ def create_or_sign_on_user_using_openid(auth_token)\n \n if user_open_id.blank? && user = User.find_by_email(email)\n # we trust so do an email lookup\n+ # TODO some openid providers may not be trust worthy, allow for that\n+ # for now we are good (google, yahoo are trust worthy)\n user_open_id = UserOpenId.create(url: identity_url , user_id: user.id, email: email, active: true)\n end\n \n@@ -250,18 +252,32 @@ def create_or_sign_on_user_using_github(auth_token)\n \n data = auth_token[:info]\n screen_name = data[\"nickname\"]\n+ email = data[\"email\"]\n github_user_id = auth_token[\"uid\"]\n \n session[:authentication] = {\n github_user_id: github_user_id,\n- github_screen_name: screen_name\n+ github_screen_name: screen_name,\n+ email: email,\n+ email_valid: true\n }\n \n user_info = GithubUserInfo.where(github_user_id: github_user_id).first\n \n+ if !user_info && user = User.find_by_email(email)\n+ # we trust so do an email lookup\n+ user_info = GithubUserInfo.create(\n+ user_id: user.id,\n+ screen_name: screen_name,\n+ github_user_id: github_user_id\n+ )\n+ end\n+\n @data = {\n username: screen_name,\n- auth_provider: \"Github\"\n+ auth_provider: \"Github\",\n+ email: email,\n+ email_valid: true\n }\n \n process_user_info(user_info, screen_name)"
}
]
}