SteamRE / SteamKit

SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.
GNU Lesser General Public License v2.1
2.61k stars 497 forks source link

GetAuthSessionTicket implementation #1407

Closed Masusder closed 1 month ago

Masusder commented 2 months ago

This is continuation of jesterret's pull request I've added steam default of writing random data, as mentioned in https://github.com/SteamRE/SteamKit/pull/789#issuecomment-899758669 and changed code following @xPaw review Full credits goes to @jesterret for this implementation

Here's example of successfull authentication using token generated by this implementation:

NIdHibj

xPaw commented 2 months ago

Not really a fan of these separate UserData classes (if its always random, why does the other one even exist?)

Also put these extra classes inside of SteamAuthTicket class, not standalone.

Would love for some other users to verify that this works (commenters from the original pr?)

Masusder commented 2 months ago

Code wise looks fine to me, but I have not actually tested whether this works.

Would be nice if some user actually confirmed this works.

I unfortunately don't know anyone who could also test it. I can only mention that I've tested it on Dead by Daylight and Islands of Insight games, for both games generated ticket is accepted as valid.

jesterret commented 2 months ago

Thanks @Masusder for taking over the PR, I didn't have much time to look into it, and thanks @xPaw for reviewing it :) If that would help, we could probably submit a sample project that uses the generated token to authenticate for the game?

CLOEI commented 2 months ago

I just tried using it in one game, and I can confirm it works.