private async Task <ChannelCredentials> CreateChannelCredentialsUncached() { var appDefaultCredentials = await EnfonicaCredential.GetApplicationDefaultAsync().ConfigureAwait(false); if (appDefaultCredentials.IsCreateScopedRequired) { appDefaultCredentials = appDefaultCredentials.CreateScoped(_scopes); } return(appDefaultCredentials.ToChannelCredentials()); }
/// <summary> /// Creates a new <see cref="ServiceAccountCredential"/> instance from JSON credential data. /// </summary> /// <param name="credentialData">The stream from which to read the JSON key data for a service account. Must not be null.</param> /// <exception cref="InvalidOperationException"> /// The <paramref name="credentialData"/> does not contain valid JSON service account key data. /// </exception> /// <returns>The credentials parsed from the service account key data.</returns> public static ServiceAccountCredential FromServiceAccountData(Stream credentialData) { var credential = EnfonicaCredential.FromStream(credentialData); var result = credential.UnderlyingCredential as ServiceAccountCredential; if (result == null) { throw new InvalidOperationException("JSON data does not represent a valid service account credential."); } return(result); }
/// <summary>Creates a default credential from JSON data.</summary> private static EnfonicaCredential CreateDefaultCredentialFromParameters(JsonCredentialParameters credentialParameters) { switch (credentialParameters.Type) { case JsonCredentialParameters.ServiceAccountCredentialType: return(EnfonicaCredential.FromServiceAccountCredential( CreateServiceAccountCredentialFromParameters(credentialParameters))); default: throw new InvalidOperationException( String.Format("Error creating credential from JSON. Unrecognized credential type {0}.", credentialParameters.Type)); } }