Photon Unity Networking v1.101

Public Member Functions | Properties | List of all members
AuthenticationValues Class Reference

Container for user authentication in Photon. Set AuthValues before you connect - all else is handled. More...

Public Member Functions

 AuthenticationValues ()
 Creates empty auth values without any info. More...
 
 AuthenticationValues (string userId)
 Creates minimal info about the user. If this is authenticated or not, depends on the set AuthType. More...
 
virtual void SetAuthPostData (string stringData)
 Sets the data to be passed-on to the auth service via POST. More...
 
virtual void SetAuthPostData (byte[] byteData)
 Sets the data to be passed-on to the auth service via POST. More...
 
virtual void SetAuthPostData (Dictionary< string, object > dictData)
 Sets data to be passed-on to the auth service as Json (Content-Type: "application/json") via Post. More...
 
virtual void AddAuthParameter (string key, string value)
 Adds a key-value pair to the get-parameters used for Custom Auth (AuthGetParameters). More...
 
override string ToString ()
 

Properties

CustomAuthenticationType AuthType [get, set]
 The type of custom authentication provider that should be used. Currently only "Custom" or "None" (turns this off). More...
 
string AuthGetParameters [get, set]
 This string must contain any (http get) parameters expected by the used authentication service. By default, username and token. More...
 
object AuthPostData [get]
 Data to be passed-on to the auth service via POST. Default: null (not sent). Either string or byte[] (see setters). More...
 
string Token [get, set]
 After initial authentication, Photon provides a token for this client / user, which is subsequently used as (cached) validation. More...
 
string UserId [get, set]
 The UserId should be a unique identifier per user. This is for finding friends, etc.. More...
 

Detailed Description

Container for user authentication in Photon. Set AuthValues before you connect - all else is handled.

On Photon, user authentication is optional but can be useful in many cases. If you want to FindFriends, a unique ID per user is very practical.

There are basically three options for user authentification: None at all, the client sets some UserId or you can use some account web-service to authenticate a user (and set the UserId server-side).

Custom Authentication lets you verify end-users by some kind of login or token. It sends those values to Photon which will verify them before granting access or disconnecting the client.

The AuthValues are sent in OpAuthenticate when you connect, so they must be set before you connect. Should you not set any AuthValues, PUN will create them and set the playerName as userId in them. If the AuthValues.userId is null or empty when it's sent to the server, then the Photon Server assigns a userId!

The Photon Cloud Dashboard will let you enable this feature and set important server values for it. https://dashboard.photonengine.com

Constructor & Destructor Documentation

◆ AuthenticationValues() [1/2]

AuthenticationValues.AuthenticationValues ( )

Creates empty auth values without any info.

◆ AuthenticationValues() [2/2]

AuthenticationValues.AuthenticationValues ( string  userId)

Creates minimal info about the user. If this is authenticated or not, depends on the set AuthType.

Parameters
userIdSome UserId to set in Photon.

Member Function Documentation

◆ AddAuthParameter()

virtual void AuthenticationValues.AddAuthParameter ( string  key,
string  value 
)
virtual

Adds a key-value pair to the get-parameters used for Custom Auth (AuthGetParameters).

This method does uri-encoding for you.

Parameters
keyKey for the value to set.
valueSome value relevant for Custom Authentication.

◆ SetAuthPostData() [1/3]

virtual void AuthenticationValues.SetAuthPostData ( byte[]  byteData)
virtual

Sets the data to be passed-on to the auth service via POST.

AuthPostData is just one value. Each SetAuthPostData replaces any previous value. It can be either a string, a byte[] or a dictionary. Each SetAuthPostData replaces any previous value.

Parameters
byteDataBinary token / auth-data to pass on.

◆ SetAuthPostData() [2/3]

virtual void AuthenticationValues.SetAuthPostData ( Dictionary< string, object >  dictData)
virtual

Sets data to be passed-on to the auth service as Json (Content-Type: "application/json") via Post.

AuthPostData is just one value. Each SetAuthPostData replaces any previous value. It can be either a string, a byte[] or a dictionary. Each SetAuthPostData replaces any previous value.

Parameters
dictDataA authentication-data dictionary will be converted to Json and passed to the Auth webservice via HTTP Post.

◆ SetAuthPostData() [3/3]

virtual void AuthenticationValues.SetAuthPostData ( string  stringData)
virtual

Sets the data to be passed-on to the auth service via POST.

AuthPostData is just one value. Each SetAuthPostData replaces any previous value. It can be either a string, a byte[] or a dictionary. Each SetAuthPostData replaces any previous value.

Parameters
stringDataString data to be used in the body of the POST request. Null or empty string will set AuthPostData to null.

◆ ToString()

override string AuthenticationValues.ToString ( )

Property Documentation

◆ AuthGetParameters

string AuthenticationValues.AuthGetParameters
getset

This string must contain any (http get) parameters expected by the used authentication service. By default, username and token.

Maps to operation parameter 216. Standard http get parameters are used here and passed on to the service that's defined in the server (Photon Cloud Dashboard).

◆ AuthPostData

object AuthenticationValues.AuthPostData
get

Data to be passed-on to the auth service via POST. Default: null (not sent). Either string or byte[] (see setters).

Maps to operation parameter 214.

◆ AuthType

CustomAuthenticationType AuthenticationValues.AuthType
getset

The type of custom authentication provider that should be used. Currently only "Custom" or "None" (turns this off).

◆ Token

string AuthenticationValues.Token
getset

After initial authentication, Photon provides a token for this client / user, which is subsequently used as (cached) validation.

◆ UserId

string AuthenticationValues.UserId
getset

The UserId should be a unique identifier per user. This is for finding friends, etc..

See remarks of AuthValues for info about how this is set and used.