code: def _make_authorization_grant_assertion(self):
          
          now = _helpers.utcnow()
          lifetime = datetime.timedelta(seconds=_DEFAULT_TOKEN_LIFETIME_SECS)
          expiry = now + lifetime
  
          payload = {
              'iat': _helpers.datetime_to_secs(now),
              'exp': _helpers.datetime_to_secs(expiry),
              # The issuer must be the service account email.
              'iss': self.service_account_email,
              # The audience must be the auth token endpoint's URI
              'aud': self._token_uri,
              # The target audience specifies which service the ID token is
              # intended for.
              'target_audience': self._target_audience
          }
  
          payload.update(self._additional_claims)
  
          token = jwt.encode(self._signer, payload)
  
          return token
docs: Create the OAuth 2.0 assertion.
  
          This assertion is used during the OAuth 2.0 grant to acquire an
          ID token.
  
          Returns:
              bytes: The authorization grant assertion.