-
-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Steam TOTP #127
Comments
Thanks for your interest in PyOTP. Steam does not follow the TOTP RFC, so it is a non-standard implementation of TOTP. As such it is unlikely that we will develop support for it, however if someone wants to contribute an implementation with tests and documentation, we could include it in a Technically, Steam appears to use an OTP of length 5 with a 30 second tick and the same HOTP construction as standard HOTP, but with a custom alphabet for the OTP instead of digits. As such this can be a straightforward subclass of |
There is the Authenticator app that works with Steam TOTP. Unfortunately it's in Rust, not Python: otp.rs |
I made an implementation of Steams TOTP for python based on the mentioned otp.rs. It's a subclass of |
So...could it be integrated in PyOTP? 😲 |
A new class is added in a `pyotp.contrib.steam` submodule. It's a subclass of `pyotp.TOTP` and overrides the `generate_otp` method. (all as mentioned in the issue [here](#127 (comment))) Also added some tests and included the new class in the API Documentation section. Co-authored-by: Andrey Kislyuk <kislyuk@gmail.com>
A new class is added in a `pyotp.contrib.steam` submodule. It's a subclass of `pyotp.TOTP` and overrides the `generate_otp` method. (all as mentioned in the issue [here](pyauth/pyotp#127 (comment))) Also added some tests and included the new class in the API Documentation section. Co-authored-by: Andrey Kislyuk <kislyuk@gmail.com>
Correct, Steam TOTP is now supported thanks to work by @einfachIrgendwer0815 in #142. The remaining work was to add docs for it, which I just did. |
Hm actually there seems to be an issue, consumers of this library can't use
Would it be acceptable to add support for this, or should the consumers deal with this only |
Ping @kislyuk ^ |
@JamiKettunen I'm happy to take PRs to adapt parse_uri to accommodate Steam. Would need a unit/regression test in place. |
@JamiKettunen Are you working on this? Otherwise I would like to do that. |
@einfachIrgendwer0815 Feel free to take over, I tried something locally but wasn't successful |
Could we please have support for Steam's custom TOTP?
The text was updated successfully, but these errors were encountered: