Skip to main content
Version: 5.7.0

SmartSwitchAuthenticateExternal

Smart Switch Authenticate will logout of the current profile, and switch to the new authentication type. In event the current session was previously an anonymous account, the smart switch will delete that profile. Use this function to keep a clean designflow from anonymous to signed profiles

Authenticate the user via cloud code (which in turn validates the supplied credentials against an external system). This allows the developer to extend brainCloud authentication to support other backend authentication systems.

Method Parameters

ParameterDescription
userIdThe userId
tokenThe user token (password etc)
externalAuthNameThe name of the custom authentication type (linked to a cloud script that performs authentication). Configured via the Design | Authentication | External page of the Design Portal.
forceCreateShould a new profile be created for this user if the account does not exist?

Usage

http://localhost:3000
string userId = "externalId";
string token = "externalTokenOrPassword";
string externalAuthName = "nameOfExternalAuthService";
bool forceCreate = true;

SuccessCallback successCallback = (response, cbObject) =>
{
Debug.Log(string.Format("[Authenticate Success] {0}", response));
};
FailureCallback failureCallback = (status, code, error, cbObject) =>
{
Debug.Log(string.Format("[Authenticate Failed] {0} {1} {2}", status, code, error));
};
_bc.SmartSwitchAuthenticateExternal(
userId, token, externalAuthName, forceCreate,
successCallback, failureCallback);
JSON Response
var userId = "externalId";
var token = "externalTokenOrPassword";
var externalAuthName = "nameOfExternalAuthService";
var forceCreate = true;

_bc.smartSwitchAuthenticateExternal(userId, token, externalAuthName, forceCreate, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});