-
Notifications
You must be signed in to change notification settings - Fork 309
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
*passport-steam* failing #1347
Comments
* Don't know all the consequences beside OpenUserJS#1347 but will retest what I can NOTE(S): * Leaving README.md alone since we might go back
* Don't know all the consequences beside #1347 but will retest what I can NOTE(S): * Leaving README.md alone since we might go back Auto-merge
Still failing when deployed via Note: may be related to the extra session found at #1344 ... another one popped up. |
Some notes out loud (may add/change to this):
|
Could use some expertise here please. |
Lovely... it looks like my auth key changed... dumped dev account So two issues here:
diff --git a/controllers/auth.js b/controllers/auth.js
index 7b01d3c..41d08c0 100644
--- a/controllers/auth.js
+++ b/controllers/auth.js
@@ -243,6 +243,12 @@ exports.callback = function (aReq, aRes, aNext) {
console.error(colors.red('`User` not found'));
}
+ if (aReq.session.destroy) {
+ aReq.session.destroy();
+ } else { // TODO: Remove conditional and this fallback when satisifed
+ delete aReq.session.user;
+ }
+
aRes.redirect(doneUri + (doneUri === '/' ? 'login' : '') + '?authfail');
return;
} (Note: Still not satisfied to remove the
A good question is... Does Steam (or any auth) expire your openid/oauth after not logging in for a while? ❓ (it's probably been 5 to 6 months since I last used it)... If so that's really bad for OUJS accounts. Alternatively Steam could have changed their digest auth key algorithm server side before/during/after their http to https migration without our knowledge. Rechecked OUJS forks... they appear to be solid as well with Ref(s):
|
I think I've identified the bug... indirectly mentioned in the above comment with:
Comparing my digest on pro to the digest from the creation of the new account on dev.... the difference is the What this means is everyone, and I do mean everyone, that has Steam as their auth prior to their https switch... their account access with this auth is currently orphaned... I do see a potential recovery option however we should try to figure that part out to keep things private as possible and preferably as smooth as possible (e.g. right now it is painstakingly lengthy to convert as the values are currently unknown) Also there were a few comments on their repo that they "might go back" which will compound the issue in reverse. Ref(s): |
Applies to OpenUserJS#1347
* This was "our bug" and probably should have been anticipated back in the begginning of OUJS with Steam * This takes care of the wishy-washy replies I read on a possible reversion from secure to unsecure in their routines. We never utilize the plain text value stored in `aId` so it's not important to match site secure status NOTE(S): * There is a manual recovery path discovered for those who have access to the DB directly but working on offloading it to the users. Need sleep first then more testing. * Still keeping steam auth read-only until the DB can be examined further and this issue recovery Applies to OpenUserJS#1347
* This was "our bug" and probably should have been anticipated back in the begginning of OUJS with Steam * This takes care of the wishy-washy replies I read on a possible reversion from secure to unsecure in their routines. We never utilize the plain text value stored in `aId` so it's not important to match site secure status NOTE(S): * There is a manual recovery path discovered for those who have access to the DB directly but working on offloading it to the users. Need sleep first then more testing. * Still keeping steam auth read-only until the DB can be examined further and this issue recovery Applies to #1347 Auto-merge
|
Thank you!!! We're mostly on the same page here. Although we need to narrow down the exact date Steam did this (some can be done with I'd like to keep most of the changes extremely simple in the code, and avoid using async which would be needed (very messy still for a recovery/migration that shouldn't happen ever again), it is going to still fail but with a different QSP... e.g. offload it to the user... then they can try again with their newly saved/migrated/recovered hash. I'm currently anonymously auditing the other strategies in case there is a similar potential issue. (if you want to view it do
Just need the rest of the auths now but that can be whenever someone signs in
|
Ref:
|
* Should run this code for at least 6 months * Fix a bug in implementation with mongoose Applies to OpenUserJS#1347
* Should run this code for at least 6 months * Fix a bug in implementation with mongoose Applies to #1347 Auto-merge
My steam account migrated/recovered well on pro... So if the users on OUJS are observing this issue and have an existing steam account please login it even if it's just for a moment. This is a two time login migration/recovery. Single would have entailed a rather large rewrite and the recovery won't be in there forever imho. e.g. it has at least 6 months before it should be removed to allow those users to recover during that time. I would like to have a few days (and see some users doing it in stdout) before turning off readonly for new/attached steam accounts. |
* Best to be safe on this in case another auth is present and for some way rare case it has the exact same digest. Can handle these manually if need be but should be extremely rare. Applies to OpenUserJS#1347
* Put in a mult-auth collision check * Best to be safe on this in case another auth is present and for some way rare case it has the exact same digest. Can handle these manually if need be but should be extremely rare. Applies to #1347 * Fix conditional positioning * Add a few more stdout and stderr messages to monitor Applies to #1354 Auto-merge
11 days and not a single Steam user migrating? I have seen some of the users logged in that have it as an alternate but they haven't bothered yet. For pro reference: Tick tock, tick tock... 😸 |
Finally one user migrated besides me... not a very used passport. |
Still only myself and one other that has recovered their Steam auth... as of today... |
Closing but mitigation label still active. |
* Plenty of notice for this... no excuses. * Leaving redirect conditionals in as this probably won't be the only instance we need this down the line. Post OpenUserJS#1347 OpenUserJS#1353
Both 1.0.8, 1.0.9 and the OUJS forks (commit specified) are producing
?authfail
.The text was updated successfully, but these errors were encountered: