{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/comments/72702769","id":72702769,"diff_hunk":"@@ -93,3 +93,71 @@ To use the client ID for authentication:\n Now you can use the client ID to make requests to the API:\n \n     $ python clients/google-id-token-client.py https://YOUR-PROJECT-ID.appspot.com YOUR-API-KEY /path/to/client-id.json\n+\n+### Using the App Engine default service account client (no key file needed)\n+\n+The App Engine default service account client demonstrates how to use the Google App Engine default service account to authenticate to endpoints.\n+To use the client, you need to create a Google Cloud project as your client project.\n+\n+To use the App Engine default service account for authentication:\n+\n+1. Update the `gae_default_service_account`'s `x-issuer` and `x-jwks_uri` in `swagger.yaml` with your client project ID.\n+2. Redeploy your server application.\n+3. Update clients/service_to_service_gae_default/main.py, replace `YOUR-CLIENT-PROJECT-ID` and `YOUR-SERVER-PROJECT-ID` with your client project ID and your server project ID.","path":"appengine/flexible/endpoints/README.md","position":35,"original_position":35,"commit_id":"ed750cd0d7c881a789e7e12deb25063e6966b2d0","original_commit_id":"ed750cd0d7c881a789e7e12deb25063e6966b2d0","user":{"login":"liminw","id":20001914,"avatar_url":"https://avatars.githubusercontent.com/u/20001914?v=3","gravatar_id":"","url":"https://api.github.com/users/liminw","html_url":"https://github.com/liminw","followers_url":"https://api.github.com/users/liminw/followers","following_url":"https://api.github.com/users/liminw/following{/other_user}","gists_url":"https://api.github.com/users/liminw/gists{/gist_id}","starred_url":"https://api.github.com/users/liminw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liminw/subscriptions","organizations_url":"https://api.github.com/users/liminw/orgs","repos_url":"https://api.github.com/users/liminw/repos","events_url":"https://api.github.com/users/liminw/events{/privacy}","received_events_url":"https://api.github.com/users/liminw/received_events","type":"User","site_admin":false},"body":"In the samples, we want to show server to server call, so the client and server projects are different.","created_at":"2016-07-28T21:05:47Z","updated_at":"2016-07-28T21:05:47Z","html_url":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431#discussion_r72702769","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/comments/72702769"},"html":{"href":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431#discussion_r72702769"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431","id":79260160,"html_url":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431","diff_url":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431.diff","patch_url":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/431","number":431,"state":"open","locked":false,"title":"Auth samples for Endpoints.","user":{"login":"liminw","id":20001914,"avatar_url":"https://avatars.githubusercontent.com/u/20001914?v=3","gravatar_id":"","url":"https://api.github.com/users/liminw","html_url":"https://github.com/liminw","followers_url":"https://api.github.com/users/liminw/followers","following_url":"https://api.github.com/users/liminw/following{/other_user}","gists_url":"https://api.github.com/users/liminw/gists{/gist_id}","starred_url":"https://api.github.com/users/liminw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liminw/subscriptions","organizations_url":"https://api.github.com/users/liminw/orgs","repos_url":"https://api.github.com/users/liminw/repos","events_url":"https://api.github.com/users/liminw/events{/privacy}","received_events_url":"https://api.github.com/users/liminw/received_events","type":"User","site_admin":false},"body":"Added three samples:\r\n1. Use App Engine default service account client (without key file).\r\n2. Use non-default service account client (without key file).\r\n3. Use Google ID token client (without key file)","created_at":"2016-07-28T20:12:04Z","updated_at":"2016-07-28T21:05:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1267141133674c3d3eeb9b44676b4c87ced4820a","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/431/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/statuses/ed750cd0d7c881a789e7e12deb25063e6966b2d0","head":{"label":"liminw:master","ref":"master","sha":"ed750cd0d7c881a789e7e12deb25063e6966b2d0","user":{"login":"liminw","id":20001914,"avatar_url":"https://avatars.githubusercontent.com/u/20001914?v=3","gravatar_id":"","url":"https://api.github.com/users/liminw","html_url":"https://github.com/liminw","followers_url":"https://api.github.com/users/liminw/followers","following_url":"https://api.github.com/users/liminw/following{/other_user}","gists_url":"https://api.github.com/users/liminw/gists{/gist_id}","starred_url":"https://api.github.com/users/liminw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liminw/subscriptions","organizations_url":"https://api.github.com/users/liminw/orgs","repos_url":"https://api.github.com/users/liminw/repos","events_url":"https://api.github.com/users/liminw/events{/privacy}","received_events_url":"https://api.github.com/users/liminw/received_events","type":"User","site_admin":false},"repo":{"id":64419795,"name":"python-docs-samples","full_name":"liminw/python-docs-samples","owner":{"login":"liminw","id":20001914,"avatar_url":"https://avatars.githubusercontent.com/u/20001914?v=3","gravatar_id":"","url":"https://api.github.com/users/liminw","html_url":"https://github.com/liminw","followers_url":"https://api.github.com/users/liminw/followers","following_url":"https://api.github.com/users/liminw/following{/other_user}","gists_url":"https://api.github.com/users/liminw/gists{/gist_id}","starred_url":"https://api.github.com/users/liminw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liminw/subscriptions","organizations_url":"https://api.github.com/users/liminw/orgs","repos_url":"https://api.github.com/users/liminw/repos","events_url":"https://api.github.com/users/liminw/events{/privacy}","received_events_url":"https://api.github.com/users/liminw/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/liminw/python-docs-samples","description":"Code samples used on cloud.google.com","fork":true,"url":"https://api.github.com/repos/liminw/python-docs-samples","forks_url":"https://api.github.com/repos/liminw/python-docs-samples/forks","keys_url":"https://api.github.com/repos/liminw/python-docs-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liminw/python-docs-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liminw/python-docs-samples/teams","hooks_url":"https://api.github.com/repos/liminw/python-docs-samples/hooks","issue_events_url":"https://api.github.com/repos/liminw/python-docs-samples/issues/events{/number}","events_url":"https://api.github.com/repos/liminw/python-docs-samples/events","assignees_url":"https://api.github.com/repos/liminw/python-docs-samples/assignees{/user}","branches_url":"https://api.github.com/repos/liminw/python-docs-samples/branches{/branch}","tags_url":"https://api.github.com/repos/liminw/python-docs-samples/tags","blobs_url":"https://api.github.com/repos/liminw/python-docs-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liminw/python-docs-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liminw/python-docs-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/liminw/python-docs-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liminw/python-docs-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/liminw/python-docs-samples/languages","stargazers_url":"https://api.github.com/repos/liminw/python-docs-samples/stargazers","contributors_url":"https://api.github.com/repos/liminw/python-docs-samples/contributors","subscribers_url":"https://api.github.com/repos/liminw/python-docs-samples/subscribers","subscription_url":"https://api.github.com/repos/liminw/python-docs-samples/subscription","commits_url":"https://api.github.com/repos/liminw/python-docs-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/liminw/python-docs-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/liminw/python-docs-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/liminw/python-docs-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/liminw/python-docs-samples/contents/{+path}","compare_url":"https://api.github.com/repos/liminw/python-docs-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liminw/python-docs-samples/merges","archive_url":"https://api.github.com/repos/liminw/python-docs-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liminw/python-docs-samples/downloads","issues_url":"https://api.github.com/repos/liminw/python-docs-samples/issues{/number}","pulls_url":"https://api.github.com/repos/liminw/python-docs-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/liminw/python-docs-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/liminw/python-docs-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liminw/python-docs-samples/labels{/name}","releases_url":"https://api.github.com/repos/liminw/python-docs-samples/releases{/id}","deployments_url":"https://api.github.com/repos/liminw/python-docs-samples/deployments","created_at":"2016-07-28T18:43:39Z","updated_at":"2016-07-28T18:43:41Z","pushed_at":"2016-07-28T20:07:43Z","git_url":"git://github.com/liminw/python-docs-samples.git","ssh_url":"git@github.com:liminw/python-docs-samples.git","clone_url":"https://github.com/liminw/python-docs-samples.git","svn_url":"https://github.com/liminw/python-docs-samples","homepage":"","size":1587,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"e3fcefdffce813b78378e8aa5b2097944bd5d0b2","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":35065876,"name":"python-docs-samples","full_name":"GoogleCloudPlatform/python-docs-samples","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/python-docs-samples","description":"Code samples used on cloud.google.com","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/deployments","created_at":"2015-05-04T23:26:13Z","updated_at":"2016-07-28T13:56:08Z","pushed_at":"2016-07-28T20:12:04Z","git_url":"git://github.com/GoogleCloudPlatform/python-docs-samples.git","ssh_url":"git@github.com:GoogleCloudPlatform/python-docs-samples.git","clone_url":"https://github.com/GoogleCloudPlatform/python-docs-samples.git","svn_url":"https://github.com/GoogleCloudPlatform/python-docs-samples","homepage":"","size":2083,"stargazers_count":210,"watchers_count":210,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":233,"mirror_url":null,"open_issues_count":17,"forks":233,"open_issues":17,"watchers":210,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431"},"html":{"href":"https://github.com/GoogleCloudPlatform/python-docs-samples/pull/431"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/431"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/issues/431/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/pulls/431/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/python-docs-samples/statuses/ed750cd0d7c881a789e7e12deb25063e6966b2d0"}}}}
{"actor":{"display_login":"liminw"}}