-
Notifications
You must be signed in to change notification settings - Fork 68
Authentication Protocol
NEX Protocols > Ticket Granting (10)
This is the only protocol that's available on the authentication server. Other protocols are only available on the secure server.
Method ID | Name (Wii U) | Name (Switch) |
---|---|---|
1 | Login | ValidateAndRequestTicket |
2 | LoginEx | ValidateAndRequestTicketWithCustomData |
3 | RequestTicket | RequestTicket |
4 | GetPID | GetPID |
5 | GetName | GetName |
6 | LoginWithContext | ValidateAndRequestTicketWithParam |
Usernames are not case sensitive.
If the username does not exist, the %retval%
field is set to RendezVous::InvalidUsername
and the other fields are left blank.
Type | Name | Description |
---|---|---|
String | strUserName | Username |
Type | Name | Description |
---|---|---|
Result | %retval% | Result code |
PID | pidPrincipal | User pid |
Buffer | pbufResponse | Kerberos ticket |
RVConnectionData | pConnectionData | Connection info for secure server. The Nintendo Switch allows the secure server to be at the same address as the authentication server. In that case, the secure server station url points to 0.0.0.1 with port 1. |
String | strReturnMsg | Server build name |
Examples of server build names:
Server | Build name |
---|---|
Friends | branch:origin/feature/45925_FixAutoReconnect build:3_10_11_2006_0 |
DKC:TF | branch:origin/release/ngs/3.4.x.3 build:3_4_13_3_0 |
MK8 | branch:origin/project/wup-amk build:3_5_17_2011_0 |
Usernames are not case sensitive.
If the username does not exist, the %retval%
field is set to RendezVous::InvalidUsername
and the other fields are left blank.
Wii U servers don't seem to check what's in the extra data.
Type | Name | Description |
---|---|---|
String | strUserName | Username |
Any<AuthenticationInfo> | oExtraData | Authentication info |
AuthenticationInfo (Structure)
This structure inherits from Data |
---|
Type | Name | Description |
---|---|---|
String | m_authToken | Token, as received from the account server |
Uint32 | m_ngsVersion | Always 3 on Wii U. Always 4 on Switch. |
Uint8 | m_authTokenType | Always 1 on Wii U. Always 2 on Switch. |
Uint32 | m_serverVersion | See below |
The server version is in the build name of the server. If the build name is 3_x_y_z_0
then z
is the server version. Click here for a list of server build names.
Type | Name | Description |
---|---|---|
Result | %retval% | Result code |
PID | pidPrincipal | User pid |
Buffer | pbufResponse | Kerberos ticket |
RVConnectionData | pConnectionData | Connection info for secure server. The Nintendo Switch allows the secure server to be at the same address as the authentication server. In that case, the secure server station url points to 0.0.0.1 with port 1. |
String | strReturnMsg | Server build name |
String | pSourceKey | Only present on Switch. If this is a non-empty hex string, key derivation is skipped and this string is used as the key to decrypt the ticket instead. |
If the source or target pid is invalid, the %retval%
field is set to Core::AccessDenied
and the ticket is empty.
Type | Name | Description |
---|---|---|
PID | idSource | User pid |
PID | idTarget | Secure server pid |
Type | Name | Description |
---|---|---|
Result | %retval% | Result code |
Buffer | bufResponse | Kerberos ticket |
String | pSourceKey | Only present on Switch. If this is a non-empty hex string, key derivation is skipped and this string is used as the key to decrypt the ticket instead. |
This is the reverse of the GetName method. It looks up the pid that belongs to a given username. On all normal accounts the username is the same as the user pid. Each game server also provides a bunch of special users.
Usernames are not case sensitive.
Returns 0 if the username does not exist.
Type | Name | Description |
---|---|---|
String | strUserName | Username |
Type | Name | Description |
---|---|---|
PID | %retval% | PID |
This is the reverse of the GetPID method. It returns the name associated with the given user pid. Returns an empty string if the pid does not exist.
Type | Name | Description |
---|---|---|
PID | id | PID |
Type | Name | Description |
---|---|---|
String | %retval% | Username |
Type | Name | Description |
---|---|---|
Any | loginData | Login data |
Type | Name | Description |
---|---|---|
Result | %retval% | Result code |
PID | pidPrincipal | User pid |
Buffer | pbufResponse | Kerberos ticket |
RVConnectionData | pConnectionData | Connection info for secure server |
Type | Name |
---|---|
ValidateAndRequestTicketParam | param |
ValidateAndRequestTicketParam (Structure)
Type | Name | Description |
---|---|---|
Uint32 | platformType | Always 3 |
String | userName | Username (your pid) |
Any | extraData | NullData or AuthenticationInfo |
Bool | ignoreApiVersionCheck | |
Uint32 | apiVersionGeneral | NEX version (e.g. 40601) |
Uint32 | apiVersionCustom | Client version |
NullData (Structure)
This structure inherits from Data |
---|
This struct does not have any fields.
Type | Name |
---|---|
ValidateAndRequestTicketResult | result |
ValidateAndRequestTicketResult (Structure)
Type | Name | Description |
---|---|---|
PID | sourcePid | User id |
Buffer | bufResponse | Kerberos ticket |
StationURL | serviceNodeUrl | Secure server location |
DateTime | currentUtcTime | Server time |
String | returnMsg | Server build name |
String | sourceKey | Kerberos key. If present, key derivation is skipped and this key is used to decrypt the ticket instead. |
- Home
-
NEX
- PRUDP Protocol
- RMC Protocol
-
NEX Services
- Common
- Nintendo
- Kerberos Authentication
- Hpp Server
- NPLN
- Pia
- Switch Servers
- Other Pages