MCPcopy Create free account
hub / github.com/dank/rlapi / AuthPlayer

Method AuthPlayer

auth.go:33–66  ·  view source on GitHub ↗

AuthPlayer authenticates with PsyNet via EGS and returns a WebSocket connection.

(authToken string, accountID string, accountName string)

Source from the content-addressed store, hash-verified

31
32// AuthPlayer authenticates with PsyNet via EGS and returns a WebSocket connection.
33func (p *PsyNet) AuthPlayer(authToken string, accountID string, accountName string) (*PsyNetRPC, error) {
34 localPlayerId := NewPlayerID(PlatformEpic, accountID)
35 req := &AuthPlayerRequest{
36 Platform: string(PlatformEpic),
37 PlayerName: accountName,
38 PlayerID: accountID,
39 Language: "INT",
40 AuthTicket: authToken,
41 BuildRegion: "",
42 FeatureSet: p.featureSet,
43 Device: "PC",
44 LocalFirstPlayerID: localPlayerId.String(),
45 SkipAuth: false,
46 SetAsPrimaryAccount: true,
47 EpicAuthTicket: authToken,
48 EpicAccountID: accountID,
49 }
50
51 var res AuthPlayerResponse
52 err := p.postJSON([]string{"Auth", "AuthPlayer", "v2"}, req, &res)
53 if err != nil {
54 return nil, fmt.Errorf("failed to authenticate player: %w", err)
55 }
56
57 rpc, err := p.establishSocket(res.PerConURLv2, localPlayerId, res.PsyToken, res.SessionID)
58 if err != nil {
59 return nil, fmt.Errorf("failed to establish websocket: %w", err)
60 }
61
62 go rpc.readMessages()
63 rpc.schedulePing()
64
65 return rpc, nil
66}
67
68// AuthPlayerSteam authenticates with PsyNet via Steam session ticket and returns a WebSocket connection.
69func (p *PsyNet) AuthPlayerSteam(authToken string, epicAccountID string, steamAccountID string, accountName string) (*PsyNetRPC, error) {

Callers 3

mainFunction · 0.95
mainFunction · 0.95
RPCFunction · 0.95

Calls 6

StringMethod · 0.95
postJSONMethod · 0.95
establishSocketMethod · 0.95
NewPlayerIDFunction · 0.85
readMessagesMethod · 0.80
schedulePingMethod · 0.80

Tested by

no test coverage detected