public void AccessTokenWithHeaders_NoQuotaProject()
        {
            var token = new AccessTokenWithHeaders("FAKE_TOKEN");

            Assert.Equal("FAKE_TOKEN", token.AccessToken);
            Assert.Empty(token.Headers);
        }
        public void AccessTokenWithHeaders_WithQuotaProject()
        {
            var token = new AccessTokenWithHeaders("FAKE_TOKEN", "FAKE_QUOTA_PROJECT");

            Assert.Equal("FAKE_TOKEN", token.AccessToken);
            Assert.Single(token.Headers);
            Assert.Contains("x-goog-user-project", token.Headers.Keys);

            var values = token.Headers["x-goog-user-project"];

            Assert.Single(values);
            Assert.Contains("FAKE_QUOTA_PROJECT", values);
        }
 /// <summary>
 /// Creates an <see cref="AsyncAuthInterceptor"/> that will obtain access token and associated information
 /// from any credential type that implements <see cref="ITokenAccessWithHeaders"/>
 /// </summary>
 /// <param name="credential">The credential to use to obtain access tokens.</param>
 /// <returns>The interceptor.</returns>
 public static AsyncAuthInterceptor FromCredential(ITokenAccessWithHeaders credential)
 {
     return(new AsyncAuthInterceptor(async(context, metadata) =>
     {
         AccessTokenWithHeaders tokenAndHeaders = await credential.GetAccessTokenWithHeadersForRequestAsync(context.ServiceUrl, CancellationToken.None).ConfigureAwait(false);
         metadata.Add(CreateBearerTokenHeader(tokenAndHeaders.AccessToken));
         foreach (var header in tokenAndHeaders.Headers)
         {
             foreach (var headerValue in header.Value)
             {
                 metadata.Add(new Metadata.Entry(header.Key, headerValue));
             }
         }
     }));
 }
Exemplo n.º 4
0
 public ExtraHeadersInterceptor(AccessTokenWithHeaders headers) => _headers = headers;
Exemplo n.º 5
0
 public ExtraHeadersInitializer(AccessTokenWithHeaders headers) =>