getComputeAuthToken method
This API works with the following fleet types: EC2, Anywhere, Container
Requests an authentication token from Amazon GameLift Servers for a
compute resource in an Amazon GameLift Servers fleet. Game servers that
are running on the compute use this token to communicate with the Amazon
GameLift Servers service, such as when calling the Amazon GameLift Servers
server SDK action InitSDK(). Authentication tokens are valid
for a limited time span, so you need to request a fresh token before the
current token expires.
Request options
-
For managed EC2 fleets (compute type
EC2), auth token retrieval and refresh is handled automatically. All game servers that are running on all fleet instances have access to a valid auth token. -
For Anywhere fleets (compute type
ANYWHERE), if you're using the Amazon GameLift Servers Agent, auth token retrieval and refresh is handled automatically for any compute where the Agent is running. If you're not using the Agent, create a mechanism to retrieve and refresh auth tokens for computes that are running game server processes.
- Create an Anywhere fleet
- Test your integration
- Server SDK reference guides (for version 5.x)
May throw InternalServiceException.
May throw InvalidRequestException.
May throw NotFoundException.
May throw UnauthorizedException.
May throw UnsupportedRegionException.
Parameter computeName :
The name of the compute resource you are requesting the authentication
token for. For an Anywhere fleet compute, use the registered compute name.
For an EC2 fleet instance, use the instance ID.
Parameter fleetId :
A unique identifier for the fleet that the compute is registered to.
Implementation
Future<GetComputeAuthTokenOutput> getComputeAuthToken({
required String computeName,
required String fleetId,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'GameLift.GetComputeAuthToken'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ComputeName': computeName,
'FleetId': fleetId,
},
);
return GetComputeAuthTokenOutput.fromJson(jsonResponse.body);
}