2.2.4.2 External Group Token

The External Group Token structure is a variable-length structure associated with a principal that contains a collection of the SystemIDs (section 2.2.1.12) for the external groups of which the principal is a member.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Size

Magic

AuthenticationType

UserSystemIdSize

TokenGroupsSize

TimeTokenGenerated

...

UserSystemId (variable)

...

TokenGroups (variable)

...

Size (4 bytes):  A 4-byte, unsigned integer value specifying the length of the External Group Token in bytes.

Magic (4 bytes):  A 4-byte, unsigned integer specifying the version of the External Group Token format. This version of the protocol MUST use the value 0xCACBCECF.

AuthenticationType (4 bytes):  A 4-byte, unsigned integer value specifying the authentication provider for the SystemID of the principal. The value MUST be one of the following.

Value

Meaning

0x00000001

Windows Integrated Authentication

0x00000003

ASP.NET Forms Authentication

UserSystemIdSize (4 bytes):  A 4-byte, unsigned integer value specifying the length of the principal's serialized binary SystemID (section 2.2.1.12) in bytes.

TokenGroupsSize (4 bytes):  A 4-byte, unsigned integer value specifying the length in bytes of the TokenGroups field (2) containing the serialized binary SystemIDs for the external groups.

TimeTokenGenerated (8 bytes):  An 8-byte, unsigned integer value specifying the time that this token was generated, stored as seconds since midnight, January 1, 1899, Coordinated Universal Time (UTC).

UserSystemId (variable):  A variable-length field (2) containing the serialized binary SystemID for the principal, occupying the number of bytes specified in UserSystemIdSize.

TokenGroups (variable):  A variable-length field (2) containing a Token Groups (section 2.2.4.4) structure, which contains the serialized binary SystemIDs for the external groups of which the principal is a member, occupying the number of bytes specified in TokenGroupsSize.