{"action":"created","issue":{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/430","labels_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/430/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/430/comments","events_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/430/events","html_url":"https://github.com/chrsmith/google-api-java-client/issues/430","id":59525250,"number":430,"title":"GoogleIdTokenVerifier support for arbitrary client_id's","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Component-Auth","name":"Component-Auth","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Milestone-Version1.8.0","name":"Milestone-Version1.8.0","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Priority-High","name":"Priority-High","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-02T18:41:48Z","updated_at":"2015-03-02T18:41:49Z","closed_at":"2015-03-02T18:41:49Z","body":"```\nExternal references, such as a standards document, or specification?\n\nhttp://javadoc.google-api-java-client.googlecode.com/hg/1.7.0-beta/com/google/ap\ni/client/googleapis/auth/oauth2/GoogleIdTokenVerifier.html\n\nJava environments (e.g. Java 6, Android 2.3, App Engine, or All)?\n\nAll\n\nPlease describe the feature requested.\n\nFeedback I received: \"GoogleIdTokenVerifier is a beautiful class! ... with one \nlittle issue which means I can't use it as is:  clientId is part of the \nconstructor and/or there is not setter for it.  \n\nFor my use, I get id tokens from different clients and I must then forward the \nrequest based on who the client is.  So the only way I can use it is to create \na new GoogleIdTokenVerifier on every request, which means losing the certs \ncaching feature...  Or cache one GoogleIdTokenVerifier per possible source \nclient, which still means the same certs are fetched and refreshed a few times \nuselessly.\"\n\nTo support this use case, we should implement a separate class for caching \npublic certificates (e.g. GoogleIdTokenCertCache) to decouple the cache from \nthe id_token verification.\n```\n\nOriginal issue reported on code.google.com by `yan...@google.com` on 20 Mar 2012 at 6:24"},"comment":{"url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/comments/76775489","html_url":"https://github.com/chrsmith/google-api-java-client/issues/430#issuecomment-76775489","issue_url":"https://api.github.com/repos/chrsmith/google-api-java-client/issues/430","id":76775489,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-03-02T18:41:49Z","updated_at":"2015-03-02T18:41:49Z","body":"```\nhttp://codereview.appspot.com/5902043/\n```\n\nOriginal comment by `yan...@google.com` on 23 Mar 2012 at 9:01\n* Changed state: **Started**"}}