{"action":"created","issue":{"url":"https://api.github.com/repos/google/oauth2client/issues/211","labels_url":"https://api.github.com/repos/google/oauth2client/issues/211/labels{/name}","comments_url":"https://api.github.com/repos/google/oauth2client/issues/211/comments","events_url":"https://api.github.com/repos/google/oauth2client/issues/211/events","html_url":"https://github.com/google/oauth2client/issues/211","id":92441668,"number":211,"title":"Clean up Service Account support","user":{"login":"dhermes","id":520669,"avatar_url":"https://avatars.githubusercontent.com/u/520669?v=3","gravatar_id":"","url":"https://api.github.com/users/dhermes","html_url":"https://github.com/dhermes","followers_url":"https://api.github.com/users/dhermes/followers","following_url":"https://api.github.com/users/dhermes/following{/other_user}","gists_url":"https://api.github.com/users/dhermes/gists{/gist_id}","starred_url":"https://api.github.com/users/dhermes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhermes/subscriptions","organizations_url":"https://api.github.com/users/dhermes/orgs","repos_url":"https://api.github.com/users/dhermes/repos","events_url":"https://api.github.com/users/dhermes/events{/privacy}","received_events_url":"https://api.github.com/users/dhermes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-07-01T17:34:17Z","updated_at":"2015-07-06T23:59:13Z","closed_at":null,"body":"See the discussion in #207. Though not directly related, it revealed a few things.\r\n\r\n1. There should just be a single service account class with factory constructors to handle PKCS12/P12 vs. JSON keys\r\n1. It seems that usable auth created a shadowed `service_account._ServiceAccountCredentials` class that does essentially the same thing that `client.SignedJwtAssertionCredentials` does\r\n1. We should better document the difference between a PKCS12/P12 key and a JSON key (and hopefully there is somewhere on the Google official OAuth docs explaining the difference as well)"},"comment":{"url":"https://api.github.com/repos/google/oauth2client/issues/comments/119030889","html_url":"https://github.com/google/oauth2client/issues/211#issuecomment-119030889","issue_url":"https://api.github.com/repos/google/oauth2client/issues/211","id":119030889,"user":{"login":"dhermes","id":520669,"avatar_url":"https://avatars.githubusercontent.com/u/520669?v=3","gravatar_id":"","url":"https://api.github.com/users/dhermes","html_url":"https://github.com/dhermes","followers_url":"https://api.github.com/users/dhermes/followers","following_url":"https://api.github.com/users/dhermes/following{/other_user}","gists_url":"https://api.github.com/users/dhermes/gists{/gist_id}","starred_url":"https://api.github.com/users/dhermes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhermes/subscriptions","organizations_url":"https://api.github.com/users/dhermes/orgs","repos_url":"https://api.github.com/users/dhermes/repos","events_url":"https://api.github.com/users/dhermes/events{/privacy}","received_events_url":"https://api.github.com/users/dhermes/received_events","type":"User","site_admin":false},"created_at":"2015-07-06T23:59:13Z","updated_at":"2015-07-06T23:59:13Z","body":"Changed\r\n\r\n```diff\r\ndiff --git a/oauth2client/service_account.py b/oauth2client/service_account.py\r\nindex d1d1d89..8120c6c 100644\r\n--- a/oauth2client/service_account.py\r\n+++ b/oauth2client/service_account.py\r\n@@ -62,7 +62,6 @@ class _ServiceAccountCredentials(AssertionCredentials):\r\n     header = {\r\n         'alg': 'RS256',\r\n         'typ': 'JWT',\r\n-        'kid': self._private_key_id\r\n     }\r\n \r\n     now = int(time.time())\r\n```\r\n\r\nand tested that minting a token worked, and not sending a `kid` made no difference at all."}}