Skip to main content

Authenticate Token

Authenticates player using PlayNANOO authentication token.

Call Information

AccountTokenSignIn(string accessToken, PlayNANOODelegate callback) {}

Call Information Details

ParameterDescriptionType
accessTokenPlayNANOO Access Tokenstring
callbackCommunication resultPlayNANOODelegate

Source Code

using PlayNANOO;

public class PlayNANOOExample : MonoBehaviour
{
Plugin plugin;

void Start()
{
plugin = Plugin.GetInstance();

string accessToken = "string";
plugin.AccountTokenSignIn(accessToken, (status, errorCode, jsonString, values) => {
if (status.Equals(Configure.PN_API_STATE_SUCCESS))
{
Debug.Log(values["access_token"].ToString());
Debug.Log(values["refresh_token"].ToString());
Debug.Log(values["uuid"].ToString());
Debug.Log(values["openID"].ToString());
Debug.Log(values["nickname"].ToString());
Debug.Log(values["linkedID"].ToString());
Debug.Log(values["linkedType"].ToString());
Debug.Log(values["country"].ToString());
}
else
{
if (values != null)
{
if (values["ErrorCode"].ToString() == "30007")
{
Debug.Log(values["WithdrawalKey"].ToString());
}
else if (values["ErrorCode"].ToString() == "70002")
{
Debug.Log(values["BlockKey"].ToString());
}
else
{
Debug.Log("Fail");
}
}
else
{
Debug.Log("Fail");
}
}
});
}
}

Communication Result

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"Token" : {
"AccessToken" : "String",
"RefreshToken" : "String"
},
"Player" : {
"UserUniqueID" : "String",
"OpenID" : "String",
"Nickname" : "String",
"LinkedID" : "String",
"LinkedType" : "String",
"Country" : "String"
}
}

Communication Result Details

Data KeyDescriptionType
Token.AccessTokenPlayer access tokenstring
Token.RefreshTokenPlayer refresh tokenstring
Player.UserUniqueIDPlayer's unique IDstring
Player.OpenIDPlayer's unique open IDstring
Player.NicknamePlayer's nicknamestring
Player.LinkedIDPlayer's linked IDstring
Player.LinkedTypePlayer's link typestring
Player.CountryPlayer's country codestring
WithdrawalKeyAccount withdrawal query keystring

Error Information

No player information exists
ErrorCode : 30000
ErrorMessage : NotFoundAccountException

Player information does not match
ErrorCode : 30001
ErrorMessage : NotMatchAccountException

Token has expired
ErrorCode : 30002
ErrorMessage : ExpiredTokenException

No token exists
ErrorCode : 30005
Message : NullTokenException

Player information is being used on another device
ErrorCode : 30006
ErrorMessage : DuplicatedDeviceException

Player has requested withdrawal
ErrorCode : 30007
ErrorMessage : WithDrawalException