{"action":"opened","issue":{"url":"https://api.github.com/repos/google/google-api-dotnet-client/issues/652","labels_url":"https://api.github.com/repos/google/google-api-dotnet-client/issues/652/labels{/name}","comments_url":"https://api.github.com/repos/google/google-api-dotnet-client/issues/652/comments","events_url":"https://api.github.com/repos/google/google-api-dotnet-client/issues/652/events","html_url":"https://github.com/google/google-api-dotnet-client/issues/652","id":125004420,"number":652,"title":"Provide synchronous way of accessing application default credentials","user":{"login":"jskeet","id":17011,"avatar_url":"https://avatars.githubusercontent.com/u/17011?v=3","gravatar_id":"","url":"https://api.github.com/users/jskeet","html_url":"https://github.com/jskeet","followers_url":"https://api.github.com/users/jskeet/followers","following_url":"https://api.github.com/users/jskeet/following{/other_user}","gists_url":"https://api.github.com/users/jskeet/gists{/gist_id}","starred_url":"https://api.github.com/users/jskeet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jskeet/subscriptions","organizations_url":"https://api.github.com/users/jskeet/orgs","repos_url":"https://api.github.com/users/jskeet/repos","events_url":"https://api.github.com/users/jskeet/events{/privacy}","received_events_url":"https://api.github.com/users/jskeet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-05T16:46:55Z","updated_at":"2016-01-05T16:46:55Z","closed_at":null,"body":"Currently we only have `GoogleCredentials.GetApplicationDefaultAsync`. That leaves callers unclear about how to fetch the default credentials in a synchronous piece of code without potentially deadlocking.\r\n\r\nIt looks like all we'd need to provide is a synchronous form of `ComputeCredential.IsRunningOnComputeEngine()`... that's the only thing awaited in `DefaultCredentialProvider.CreateDefaultCredentialAsync()`."}}