geel9 / SteamAuth

A C# library that provides vital Steam Mobile Authenticator functionality
MIT License
274 stars 101 forks source link

SteamAuth

A C# library that provides vital Steam Mobile Authenticator functionality. Looking for a desktop client to act as a Steam Mobile Authenticator? Check out SteamDesktopAuthenticator

Functionality

Currently, this library can:

Requirements

Usage

To generate login codes if you already have a Shared Secret, simply instantiate a SteamGuardAccount and set its SharedSecret. Then call SteamGuardAccount.GenerateSteamGuardCode().

To add a mobile authenticator to a user, instantiate a UserLogin instance which will allow you to login to the account. After logging in, instantiate an AuthenticatorLinker and use AuthenticatorLinker.AddAuthenticator() and AuthenticatorLinker.FinalizeAddAuthenticator() to link a new authenticator. After calling AddAuthenticator(), and before calling FinalizeAddAuthenticator(), please save a JSON string of the AuthenticatorLinker.LinkedAccount. This will contain everything you need to generate subsequent codes. Failing to do this will lock you out of your account.

To fetch mobile confirmations, call SteamGuardAccount.FetchConfirmations(). You can then call SteamGuardAccount.AcceptConfirmation and SteamGuardAccount.DenyConfirmation.

Upcoming Features

In order to be feature complete, this library will: