-
Notifications
You must be signed in to change notification settings - Fork 170
Saving steam account credentials #35
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
Conversation
# Conflicts: # steam/webauth.py
fixed
|
The debian bit should really be a separate issue with more details and some testing before making changes. I am assuming the rest of this PR is in relation to #32. From what I gather the whole purpose of this class is to create a encrypted file with all credentials. If you think about a simple application, unless the credentials are provided at runtime by the user, they will be either in the source files or a config file. Encrypting them seem pointless as then the key will be in the source/config files. So my question is, why does the |
|
The point of this is to store the account related information and provide account related features. And it would be a nice way to store oauth information, so there is no need to login everytime when creating a new mobile session. |
|
I understand what it does. To rephrase my question, is credential management in the project scope? |
|
Depends on various factors. Eventually its your decision. |
|
The task in #32 is very specific and still remain an open question whether it should be done. The process of adding an authenticator produces a bunch of secrets. We end up with the a question. Should we just produce a You are proposing essentially credential and secrets management, right? Why is this needed? What a difficulties with credentials? How does this help? Are there any problems with this approach? |
|
The main reason for implementing credential management is to keep everything organized and in one place, so the credentials are easily accessible. An addition to this, would be to add some wrapping functions for other parts of the library, which would make them easier to access and improve the overall usability of the library. The only downside i noticed so far, that it isn't 'secure', like you mentioned earlier, the key for accessing those credentials would be present in some parts of the code, but this would not change with different approaches and i cant think of a real problem with the class in general, except that there could be some naming inconsistencies. Adding the mobile authenticator can not be fully automated, because of the SMS verification, but setting up an account with the |
|
I have added some features to account.py and added webpresence.py
Webpresence provides functions for the |
|
Hi, I've read your read your response and had a look at the code. This PR seems to be loaded with many things at this point making it hard to discuss. I'll try to break it down. On the point of having a The Not sure what the purpose of I've also noticed that the proposed code doesn't use any of functions and features already available in the package, but rather reimplements them. This is undesirable and goes against the DRY principle. All in all, I cannot merge this PR as is. |
|
Thank you for the feedback, I have made some changes.
I have added functions for retrieving the web api key and accessors for What account related features would be best to implement into |
steam/account.py
Outdated
|
|
||
| def _has_web_session(self): | ||
| if isinstance(self._web_auth, steam.webauth.WebAuth): | ||
| return True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is redundant. Just return isinstance(...)
|
I had a quick look over the code and there is a lot of cruft. Some quick points:
|
…ameter for get_api_key, changed attributes from instance attributes to variables accessed via __getattr__, proper atexit handling
|
I have made some changes regarding your, suggestions and I will push some cleanup later this day. Also iam working on a separate branch for implementing Mobile Confirmations and Trade offers that will get some accessors in SteamAccount |
|
Any thoughts on this? |
|
push |
|
class added to https://github.com/philippj/steam-totp, pr closed |
For now it is used to store account credentials and creating login codes/confirmation keys.
The account credentials are json dumped and encrypted with the password, in byte format, as key.
Also i did add a newer version of setuptools to the requirements, because a fresh installed debian is failing to compile cryptography with an old version of it.
I tried my best at adapting your coding style, if it just isnt working out, please tell me.