AuthenticationRequest
Provides authentication using a username/password combination.
The username will have been previously created using a RegistrationRequest.
Request Parameters
Parameter | Required | Type | Description |
---|---|---|---|
language | No | string | The player's language |
password | Yes | string | The previously registered password |
userName | Yes | string | The previously registered player name |
Response Parameters
A response containing the auth token
Parameter | Type | Description |
---|---|---|
authToken | string | 44b297a8-162a-4220-8c14-dad9a1946ad2 |
displayName | string | The player's display name |
newPlayer | boolean | Indicates whether the player was created as part of this request |
scriptData | ScriptData | A JSON Map of any data added either to the Request or the Response by your Cloud Code |
switchSummary | Player | A summary of the player that would be switched to. Only returned as part of an error response for a request where automatic switching is disabled. |
userId | string | The player's id |
Nested types
ScriptData
A collection of arbitrary data that can be added to a message via a Cloud Code script.
Parameter | Type | Description |
---|---|---|
myKey | string | An arbitrary data key |
myValue | JSON | An arbitrary data value. |
Player
A nested object that represents a player.
Parameter | Type | Description |
---|---|---|
achievements | string[] | The achievements of the Player |
displayName | string | The display name of the Player |
externalIds | JSON | The external Id's of the Player |
id | string | The Id of the Player |
online | boolean | The online status of the Player |
scriptData | JSON | The script data of the Player |
virtualGoods | string[] | The virtual goods of the Player |
Error Codes
Key | Value | Description |
---|---|---|
DETAILS | UNRECOGNISED | The userName password combination did not match any existing account |
DETAILS | LOCKED | There have been too many failed login attempts with these details, the account has been locked temporarily |
Code Samples
C#
using GameSparks.Api;
using GameSparks.Api.Requests;
using GameSparks.Api.Responses;
...
new AuthenticationRequest()
.SetLanguage(language)
.SetPassword(password)
.SetUserName(userName)
.Send((response) => {
string authToken = response.AuthToken;
string displayName = response.DisplayName;
bool? newPlayer = response.NewPlayer;
GSData scriptData = response.ScriptData;
AuthenticationResponse._Player switchSummary = response.SwitchSummary;
string userId = response.UserId;
});
ActionScript 3
import com.gamesparks.*;
import com.gamesparks.api.requests.*;
import com.gamesparks.api.responses.*;
import com.gamesparks.api.types.*;
...
gs.getRequestBuilder()
.createAuthenticationRequest()
.setLanguage(language)
.setPassword(password)
.setUserName(userName)
.send(function(response:com.gamesparks.api.responses.AuthenticationResponse):void {
var authToken:String = response.getAuthToken();
var displayName:String = response.getDisplayName();
var newPlayer:Boolean = response.getNewPlayer();
var scriptData:ScriptData = response.getScriptData();
var switchSummary:Player = response.getSwitchSummary();
var userId:String = response.getUserId();
});
Objective-C
#import "GS.h"
#import "GSAPI.h"
...
GSAuthenticationRequest* request = [[GSAuthenticationRequest alloc] init];
[request setLanguage:language;
[request setPassword:password;
[request setUserName:userName;
[request setCallback:^ (GSAuthenticationResponse* response) {
NSString* authToken = [response getAuthToken];
NSString* displayName = [response getDisplayName];
BOOL newPlayer = [response getNewPlayer];
NSDictionary* scriptData = [response getScriptData];
GSPlayer* switchSummary = [response getSwitchSummary];
NSString* userId = [response getUserId];
}];
[gs send:request];
C++
#include <GameSparks/generated/GSRequests.h>
using namespace GameSparks::Core;
using namespace GameSparks::Api::Responses;
using namespace GameSparks::Api::Requests;
...
void AuthenticationRequest_Response(GS& gsInstance, const AuthenticationResponse& response) {
gsstl::string authToken = response.getAuthToken();
gsstl::string displayName = response.getDisplayName();
Optional::t_BoolOptional newPlayer = response.getNewPlayer();
GSData scriptData = response.getScriptData();
Types::Player* switchSummary = response.getSwitchSummary();
gsstl::string userId = response.getUserId();
}
......
AuthenticationRequest request(gsInstance);
request.SetLanguage(language)
request.SetPassword(password)
request.SetUserName(userName)
request.Send(AuthenticationRequest_Response);
Java
import com.gamesparks.sdk.api.autogen.GSRequestBuilder.AuthenticationRequest;
import com.gamesparks.sdk.api.autogen.GSResponseBuilder.AuthenticationResponse;
import com.gamesparks.sdk.api.autogen.GSTypes.*;
import com.gamesparks.sdk.api.GSEventListener;
...
gs.getRequestBuilder().createAuthenticationRequest()
.setLanguage(language)
.setPassword(password)
.setUserName(userName)
.send(new GSEventListener<AuthenticationResponse>() {
@Override
public void onEvent(AuthenticationResponse response) {
String authToken = response.getAuthToken();
String displayName = response.getDisplayName();
Boolean newPlayer = response.getNewPlayer();
Player switchSummary = response.getSwitchSummary();
String userId = response.getUserId();
}
});
Cloud Code
var request = new SparkRequests.AuthenticationRequest();
request.language = ...;
request.password = ...;
request.userName = ...;
var response = request.Send();
var authToken = response.authToken;
var displayName = response.displayName;
var newPlayer = response.newPlayer;
var scriptData = response.scriptData;
var switchSummary = response.switchSummary;
var userId = response.userId;