io.grpc.auth.ClientAuthInterceptor#com.google.api.gax.core.CredentialsProvider源码实例Demo

下面列出了io.grpc.auth.ClientAuthInterceptor#com.google.api.gax.core.CredentialsProvider 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private static Optional<CredentialsProvider> buildCredentialsProvider(final PubSubConfig config) {
    if (config.isMockPubSubTopics()) {
        return Optional.of(NoCredentialsProvider.create());
    }

    if (config.getCredentialPath() != null) {
        try {
            return Optional.of(FixedCredentialsProvider
                    .create(ServiceAccountCredentials.fromStream(Files.newInputStream(config.getCredentialPath()))));
        } catch (final IOException e) {
            throw new IllegalStateException(e);
        }
    }

    return Optional.empty();
}
 
源代码2 项目: micrometer   文件: StackdriverConfig.java
/**
 * Return {@link CredentialsProvider} to use.
 *
 * @return {@code CredentialsProvider} to use
 * @since 1.4.0
 */
default CredentialsProvider credentials() {
    return getString(this, "credentials")
            .flatMap((credentials, valid) -> {
                if (StringUtils.isBlank(credentials)) {
                    return Validated.valid(valid.getProperty(), MetricServiceSettings.defaultCredentialsProviderBuilder().build());
                }

                try {
                    FixedCredentialsProvider provider = FixedCredentialsProvider.create(
                            GoogleCredentials.fromStream(new FileInputStream(credentials))
                                    .createScoped(MetricServiceSettings.getDefaultServiceScopes())
                    );
                    return Validated.valid(valid.getProperty(), provider);
                } catch (IOException t) {
                    return Validated.invalid(valid.getProperty(), credentials, "cannot read credentials file", InvalidReason.MALFORMED, t);
                }
            })
            .get();
}
 
public GcpPubSubAutoConfiguration(GcpPubSubProperties gcpPubSubProperties,
		GcpProjectIdProvider gcpProjectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {
	this.gcpPubSubProperties = gcpPubSubProperties;
	this.finalProjectIdProvider = (gcpPubSubProperties.getProjectId() != null)
			? gcpPubSubProperties::getProjectId
			: gcpProjectIdProvider;

	if (gcpPubSubProperties.getEmulatorHost() == null
			|| "false".equals(gcpPubSubProperties.getEmulatorHost())) {
		this.finalCredentialsProvider = gcpPubSubProperties.getCredentials().hasKey()
				? new DefaultCredentialsProvider(gcpPubSubProperties)
				: credentialsProvider;
	}
	else {
		// Since we cannot create a general NoCredentialsProvider if the emulator host is enabled
		// (because it would also be used for the other components), we have to create one here
		// for this particular case.
		this.finalCredentialsProvider = NoCredentialsProvider.create();
	}
}
 
public GoogleConfigPropertySourceLocator(GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider,
		GcpConfigProperties gcpConfigProperties) throws IOException {
	Assert.notNull(gcpConfigProperties, "Google Config properties must not be null");

	if (gcpConfigProperties.isEnabled()) {
		Assert.notNull(credentialsProvider, "Credentials provider cannot be null");
		Assert.notNull(projectIdProvider, "Project ID provider cannot be null");
		this.credentials = gcpConfigProperties.getCredentials().hasKey()
				? new DefaultCredentialsProvider(gcpConfigProperties).getCredentials()
				: credentialsProvider.getCredentials();
		this.projectId = (gcpConfigProperties.getProjectId() != null)
				? gcpConfigProperties.getProjectId()
				: projectIdProvider.getProjectId();
		Assert.notNull(this.credentials, "Credentials must not be null");

		Assert.notNull(this.projectId, "Project ID must not be null");

		this.timeout = gcpConfigProperties.getTimeoutMillis();
		this.name = gcpConfigProperties.getName();
		this.profile = gcpConfigProperties.getProfile();
		this.enabled = gcpConfigProperties.isEnabled();
		Assert.notNull(this.name, "Config name must not be null");
		Assert.notNull(this.profile, "Config profile must not be null");
	}
}
 
CoreSpannerAutoConfiguration(GcpSpannerProperties gcpSpannerProperties,
		GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {
	this.credentials = (gcpSpannerProperties.getCredentials().hasKey()
			? new DefaultCredentialsProvider(gcpSpannerProperties)
			: credentialsProvider).getCredentials();
	this.projectId = (gcpSpannerProperties.getProjectId() != null)
			? gcpSpannerProperties.getProjectId()
			: projectIdProvider.getProjectId();
	this.instanceId = gcpSpannerProperties.getInstanceId();
	this.databaseName = gcpSpannerProperties.getDatabase();
	this.numRpcChannels = gcpSpannerProperties.getNumRpcChannels();
	this.prefetchChunks = gcpSpannerProperties.getPrefetchChunks();
	this.minSessions = gcpSpannerProperties.getMinSessions();
	this.maxSessions = gcpSpannerProperties.getMaxSessions();
	this.maxIdleSessions = gcpSpannerProperties.getMaxIdleSessions();
	this.writeSessionsFraction = gcpSpannerProperties.getWriteSessionsFraction();
	this.keepAliveIntervalMinutes = gcpSpannerProperties
			.getKeepAliveIntervalMinutes();
	this.createInterleavedTableDdlOnDeleteCascade = gcpSpannerProperties
			.isCreateInterleavedTableDdlOnDeleteCascade();
	this.failIfPoolExhausted = gcpSpannerProperties.isFailIfPoolExhausted();
}
 
@Bean
public static CredentialsProvider googleCredentials() {
	return () -> {
		Credentials creds = mock(Credentials.class);
		doAnswer((Answer<Void>)
			(invocationOnMock) -> {
				RequestMetadataCallback callback =
						(RequestMetadataCallback) invocationOnMock.getArguments()[2];
				callback.onSuccess(Collections.emptyMap());
				return null;
			})
		.when(creds)
		.getRequestMetadata(any(), any(), any());
		return creds;
	};
}
 
源代码7 项目: pubsub   文件: CloudPubSubSourceConnector.java
/**
 * Check whether the user provided Cloud Pub/Sub subscription name specified by {@link
 * #CPS_SUBSCRIPTION_CONFIG} exists or not.
 */
@VisibleForTesting
public void verifySubscription(String cpsProject, String cpsSubscription, CredentialsProvider credentialsProvider) {
  try {
    SubscriberStubSettings subscriberStubSettings =
    SubscriberStubSettings.newBuilder()
      .setTransportChannelProvider(
          SubscriberStubSettings.defaultGrpcTransportProviderBuilder()
              .setMaxInboundMessageSize(20 << 20) // 20MB
              .build())
      .setCredentialsProvider(credentialsProvider)
      .build();
    GrpcSubscriberStub stub = GrpcSubscriberStub.create(subscriberStubSettings);
    GetSubscriptionRequest request =
        GetSubscriptionRequest.newBuilder()
            .setSubscription(
                String.format(
                    ConnectorUtils.CPS_SUBSCRIPTION_FORMAT, cpsProject, cpsSubscription))
            .build();
    stub.getSubscriptionCallable().call(request);
  } catch (Exception e) {
    throw new ConnectException(
        "Error verifying the subscription " + cpsSubscription + " for project " + cpsProject, e);
  }
}
 
@Bean
public static Storage storage(CredentialsProvider credentialsProvider,
		GcpProjectIdProvider projectIdProvider) throws IOException {
	return StorageOptions.newBuilder()
			.setCredentials(credentialsProvider.getCredentials())
			.setProjectId(projectIdProvider.getProjectId()).build().getService();
}
 
@Bean
public CredentialsProvider credentialsProvider() {
	try {
		return new DefaultCredentialsProvider(Credentials::new);
	}
	catch (IOException ex) {
		throw new RuntimeException(ex);
	}
}
 
源代码10 项目: spring-cloud-gcp   文件: PubSubAdmin.java
/**
 * This constructor instantiates TopicAdminClient and SubscriptionAdminClient with all their
 * defaults and the provided credentials provider.
 * @param projectIdProvider the project id provider to use
 * @param credentialsProvider the credentials provider to use
 * @throws IOException thrown when there are errors in contacting Google Cloud Pub/Sub
 */
public PubSubAdmin(GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {
	this(projectIdProvider,
			TopicAdminClient.create(
					TopicAdminSettings.newBuilder()
							.setCredentialsProvider(credentialsProvider)
							.build()),
			SubscriptionAdminClient.create(
					SubscriptionAdminSettings.newBuilder()
					.setCredentialsProvider(credentialsProvider)
					.build()));
}
 
GcpBigQueryAutoConfiguration(
		GcpBigQueryProperties gcpBigQueryProperties,
		GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {

	this.projectId = (gcpBigQueryProperties.getProjectId() != null)
			? gcpBigQueryProperties.getProjectId()
			: projectIdProvider.getProjectId();

	this.credentialsProvider = (gcpBigQueryProperties.getCredentials().hasKey()
			? new DefaultCredentialsProvider(gcpBigQueryProperties)
			: credentialsProvider);

	this.datasetName = gcpBigQueryProperties.getDatasetName();
}
 
public GcpStackdriverMetricsAutoConfiguration(GcpMetricsProperties gcpMetricsProperties,
		StackdriverProperties stackdriverProperties, GcpProjectIdProvider gcpProjectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {
	this.stackdriverProperties = stackdriverProperties;
	this.projectId = (gcpMetricsProperties.getProjectId() != null)
			? gcpMetricsProperties.getProjectId() : gcpProjectIdProvider.getProjectId();
	this.credentialsProvider = gcpMetricsProperties.getCredentials().hasKey()
			? new DefaultCredentialsProvider(gcpMetricsProperties) : credentialsProvider;
}
 
GcpDatastoreAutoConfiguration(GcpDatastoreProperties gcpDatastoreProperties,
		GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {

	this.projectId = (gcpDatastoreProperties.getProjectId() != null)
			? gcpDatastoreProperties.getProjectId()
			: projectIdProvider.getProjectId();
	this.namespace = gcpDatastoreProperties.getNamespace();

	String hostToConnect = gcpDatastoreProperties.getHost();
	if (gcpDatastoreProperties.getEmulator().isEnabled()) {
		hostToConnect = "localhost:" + gcpDatastoreProperties.getEmulator().getPort();
		LOGGER.info("Connecting to a local datastore emulator.");
	}

	if (hostToConnect == null) {
		this.credentials = (gcpDatastoreProperties.getCredentials().hasKey()
				? new DefaultCredentialsProvider(gcpDatastoreProperties)
				: credentialsProvider).getCredentials();
	}
	else {
		// Use empty credentials with Datastore Emulator.
		this.credentials = NoCredentials.getInstance();
	}

	this.host = hostToConnect;
}
 
GcpFirestoreAutoConfiguration(GcpFirestoreProperties gcpFirestoreProperties,
		GcpProjectIdProvider projectIdProvider,
		CredentialsProvider credentialsProvider) throws IOException {

	this.projectId = (gcpFirestoreProperties.getProjectId() != null)
			? gcpFirestoreProperties.getProjectId()
			: projectIdProvider.getProjectId();

	this.credentialsProvider = (gcpFirestoreProperties.getCredentials().hasKey()
			? new DefaultCredentialsProvider(gcpFirestoreProperties)
			: credentialsProvider);

	this.hostPort = gcpFirestoreProperties.getHostPort();
	this.firestoreRootPath = String.format(ROOT_PATH_FORMAT, this.projectId);
}
 
public StackdriverTraceAutoConfiguration(GcpProjectIdProvider gcpProjectIdProvider,
		CredentialsProvider credentialsProvider,
		GcpTraceProperties gcpTraceProperties) throws IOException {
	this.finalProjectIdProvider = (gcpTraceProperties.getProjectId() != null)
			? gcpTraceProperties::getProjectId
			: gcpProjectIdProvider;
	this.finalCredentialsProvider =
			gcpTraceProperties.getCredentials().hasKey()
					? new DefaultCredentialsProvider(gcpTraceProperties)
					: credentialsProvider;
}
 
public CloudVisionAutoConfiguration(
		CloudVisionProperties properties, CredentialsProvider credentialsProvider)
		throws IOException {

	this.cloudVisionProperties = properties;

	if (properties.getCredentials().hasKey()) {
		this.credentialsProvider = new DefaultCredentialsProvider(properties);
	}
	else {
		this.credentialsProvider = credentialsProvider;
	}
}
 
public GcpStorageAutoConfiguration(
		GcpProjectIdProvider coreProjectIdProvider,
		CredentialsProvider credentialsProvider,
		GcpStorageProperties gcpStorageProperties) throws IOException {

	this.gcpProjectIdProvider =
			gcpStorageProperties.getProjectId() != null
					? gcpStorageProperties::getProjectId
					: coreProjectIdProvider;

	this.credentialsProvider =
			gcpStorageProperties.getCredentials().hasKey()
					? new DefaultCredentialsProvider(gcpStorageProperties)
					: credentialsProvider;
}
 
@Test
public void testEmulatorConfig() {
	this.contextRunner.run((context) -> {
		CredentialsProvider defaultCredentialsProvider = context.getBean(CredentialsProvider.class);
		assertThat(defaultCredentialsProvider).isNotInstanceOf(NoCredentialsProvider.class);

		TopicAdminSettings topicAdminSettings = context.getBean(TopicAdminSettings.class);
		CredentialsProvider credentialsProvider = topicAdminSettings.getCredentialsProvider();
		assertThat(credentialsProvider).isInstanceOf(NoCredentialsProvider.class);

		TransportChannelProvider transportChannelProvider = context.getBean(TransportChannelProvider.class);
		assertThat(transportChannelProvider).isInstanceOf(FixedTransportChannelProvider.class);
	});
}
 
@Test
public void testDatastoreEmulatorCredentialsConfig() {
	this.contextRunner.run((context) -> {
		CredentialsProvider defaultCredentialsProvider = context.getBean(CredentialsProvider.class);
		assertThat(defaultCredentialsProvider).isNotInstanceOf(NoCredentialsProvider.class);

		DatastoreOptions datastoreOptions = getDatastoreBean(context).getOptions();
		assertThat(datastoreOptions.getCredentials()).isInstanceOf(NoCredentials.class);
	});
}
 
源代码20 项目: pubsub   文件: ConnectorUtils.java
/** Return {@link io.grpc.Channel} which is used by Cloud Pub/Sub gRPC API's. */
public static Channel getChannel(CredentialsProvider credentialsProvider) throws IOException {
  ManagedChannel channelImpl =
      NettyChannelBuilder.forAddress(ENDPOINT, 443)
          .negotiationType(NegotiationType.TLS)
          // Maximum Pub/Sub message size is 10MB.
          .maxInboundMessageSize(10 * 1024 * 1024)
          .build();
  final ClientAuthInterceptor interceptor =
      new ClientAuthInterceptor(
          credentialsProvider.getCredentials(),
          Executors.newCachedThreadPool());
  return ClientInterceptors.intercept(channelImpl, interceptor);
}
 
public static void main(String... args) throws IOException {
  // [START pubsub_use_emulator]
  String hostport = System.getenv("PUBSUB_EMULATOR_HOST");
  ManagedChannel channel = ManagedChannelBuilder.forTarget(hostport).usePlaintext().build();
  try {
    TransportChannelProvider channelProvider =
        FixedTransportChannelProvider.create(GrpcTransportChannel.create(channel));
    CredentialsProvider credentialsProvider = NoCredentialsProvider.create();

    // Set the channel and credentials provider when creating a `TopicAdminClient`.
    // Similarly for SubscriptionAdminClient
    TopicAdminClient topicClient =
        TopicAdminClient.create(
            TopicAdminSettings.newBuilder()
                .setTransportChannelProvider(channelProvider)
                .setCredentialsProvider(credentialsProvider)
                .build());

    TopicName topicName = TopicName.of("my-project-id", "my-topic-id");
    // Set the channel and credentials provider when creating a `Publisher`.
    // Similarly for Subscriber
    Publisher publisher =
        Publisher.newBuilder(topicName)
            .setChannelProvider(channelProvider)
            .setCredentialsProvider(credentialsProvider)
            .build();
  } finally {
    channel.shutdown();
  }
  // [END pubsub_use_emulator]
}
 
源代码22 项目: java-photoslibrary   文件: PhotosLibrarySettings.java
@Override
public Builder setCredentialsProvider(CredentialsProvider credentialsProvider) {
  super.setCredentialsProvider(credentialsProvider);
  return this;
}
 
public GcpStackdriverPropertiesConfigAdapter(StackdriverProperties properties, String projectId,
		CredentialsProvider credentialsProvider) {
	this(properties);
	this.projectId = projectId;
	this.credentialsProvider = credentialsProvider;
}
 
@Override
public CredentialsProvider credentials() {
	return this.credentialsProvider;
}
 
@Bean
@ConditionalOnMissingBean
public CredentialsProvider googleCredentials() throws Exception {
	return new DefaultCredentialsProvider(this.gcpProperties);
}
 
@Bean
public CredentialsProvider credentialsProvider() {
	return () -> MOCK_CREDENTIALS;
}
 
@Bean
public CredentialsProvider googleCredentials() {
	return () -> mock(Credentials.class);
}
 
@Bean
public CredentialsProvider googleCredentials() {
	return () -> mock(Credentials.class);
}
 
@Bean
public CredentialsProvider googleCredentials() {
	return () -> mock(Credentials.class);
}
 
@Bean
public CredentialsProvider credentialsProvider() {
	return NoCredentialsProvider.create();
}