code: func (s *Service) withAuthService(c context.Context) context.Context {
  	return serverAuth.Initialize(c, &serverAuth.Config{
  		DBProvider: nil, // We don't need to store an auth DB.
  		Signer:     nil, // We don't need to sign anything.
  		AccessTokenProvider: func(ic context.Context, scopes []string) (*oauth2.Token, error) {
  			// Create a new Authenticator for the supplied scopes.
  			//
  			// Pass our outer Context, since we don't want the cached Authenticator
  			// instance to be permanently bound to the inner Context.
  			a, err := s.authenticatorForScopes(c, scopes)
  			scopesStr := strings.Join(scopes, " ")
  			if err != nil {
  				log.Fields{
  					"scopes":     scopesStr,
  					log.ErrorKey: err,
  				}.Errorf(c, "Failed to create authenticator.")
  				return nil, err
  			}
  			tok, err := a.GetAccessToken(minAuthTokenLifetime)
  			if err != nil {
  				log.Fields{
  					"scopes":     scopesStr,
  					log.ErrorKey: err,
  				}.Errorf(c, "Failed to mint access token.")
  			}
  			return tok, err
  		},
  		AnonymousTransport: func(ic context.Context) http.RoundTripper {
  			return s.unauthenticatedTransport()
  		},
  	})
  }
docs: // withAuthService configures service-wide authentication and installs it into
  // the supplied Context.