Method: projects.serviceAccounts.signJwt

Note: This method is deprecated. Use the signJwt method in the IAM Service Account Credentials API instead. If you currently use this method, see the migration guide for instructions.

Signs a JSON Web Token (JWT) using the system-managed private key for a ServiceAccount.

HTTP request

POST https://iam.googleapis.com/v1/{name=projects/*/serviceAccounts/*}:signJwt

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
name
(deprecated)

string

Required. Deprecated. Migrate to Service Account Credentials API.

The resource name of the service account.

Use one of the following formats:

  • projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}
  • projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}

As an alternative, you can use the - wildcard character instead of the project ID:

  • projects/-/serviceAccounts/{EMAIL_ADDRESS}
  • projects/-/serviceAccounts/{UNIQUE_ID}

When possible, avoid using the - wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to access the service account projects/-/serviceAccounts/fake@example.com, which does not exist, the response contains an HTTP 403 Forbidden error instead of a 404 Not Found error.

Authorization requires the following IAM permission on the specified resource name:

  • iam.serviceAccounts.signJwt

Request body

The request body contains data with the following structure:

JSON representation
{
  "payload": string
}
Fields
payload
(deprecated)

string

Required. Deprecated. Migrate to Service Account Credentials API.

The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: {"sub": "user@example.com", "iat": 313435}

If the JWT Claims Set contains an expiration time (exp) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.

If the JWT Claims Set does not contain an expiration time (exp) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.

Response body

Deprecated. Migrate to Service Account Credentials API.

The service account sign JWT response.

If successful, the response body contains data with the following structure:

JSON representation
{
  "keyId": string,
  "signedJwt": string
}
Fields
keyId
(deprecated)

string

Deprecated. Migrate to Service Account Credentials API.

The id of the key used to sign the JWT.

signedJwt
(deprecated)

string

Deprecated. Migrate to Service Account Credentials API.

The signed JWT.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/iam
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.