Issue With Steam OAuth Redirect

Issue Description:

  • Users no longer able to login via Steam as final step of login process is broken, an empty page on our server is set up to redirect to a page in our Overwolf app to complete Steam login, however it appears to be stuck on that empty page

Can you reproduce it (exact steps to reproduce):

  1. Press ‘Connect Your Steam Account’
  2. Press ‘Connect To Steam’
  3. Complete the Steam login process
  4. Get stuck on our empty page prior to redirect

Impact for my app:

  • I think this bug is affecting every user at the moment.

Do you currently have a workaround?

  • When on the empty page, if you refresh or hit enter in the address bar, the redirect occurs and the login process is complete

Hi @andrew-gamurs,

I was able to reproduce the issue.

  • Please make sure that you are using the latest OW developers version (0.162.0.3) - just to make sure that we are on the same page.
  • Please make sure that you are following this doc.
  • Is this login process worked before and recently without any change from your side stopped from working? If so, can you tell me from which OW version?
  • Can you tell me how your static HTML page on your server looks like? Who are you doing the redirection?

Thanks.

  • I wasn’t running the same version but just updated and still get the error (of course)
  • I just tried to implement via the doc you linked and the app just crashes when it gets to the step where the static page on the server redirects to the Overwolf window, here are the relevant lines from the logs:
2020-12-21 17:21:50,198 (WARN) [25] OverwolfCustomSchemeBaseHandlerFactory - block custom scheme navigation 'overwolf-extension://jdegahkkdbjbcgkklfibepphggjbjdeognaeiaol/build/steam-login.html?steamid=76561197987812811' from: 'https://csgo-stats.com/overwolf_app_steam_callback?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197987812811&openid.identity=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197987812811&openid.return_to=https%3A%2F%2Fcsgo-stats.com%2Foverwolf_app_steam_callback&openid.response_nonce=2020-12-21T06%3A21%3A47ZsK2U8kZrspUCm1cwMLQ3a4CZB3g%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=b9%2BqrQVr6hvkSoELRN8zxmoAZUI%3D'
2020-12-21 17:21:50,553 (ERROR) [26] <183.08MB> ExtensionWebApp - chrome-error host created!!
2020-12-21 17:21:50,555 (INFO) [26] ExtensionWebApp - kill invalid 'chrome-error' site 'chrome-error://chromewebdata/' 'jdegahkkdbjbcgkklfibepphggjbjdeognaeiaol' (disposed:False)
  • The login process was working before yes but must’ve stopped working sometime during the last update and now. I can’t say from which OW version was this issue started.
  • The static HTML page just contains one <script> block that uses window.location.replace to redirect to the Overwolf window/page.

Not sure if that will help, but I want to do a quick test for elimination:
Can you please add the url_protocol manifest flag?

 {"scheme": "gamurs"}

Then, after unloading/loading your app, try it.

Of course, instead using this kind of link in your static page:

window.location.replace(`overwolf-extension://[EXTENSION-ID]/dist/login/login.html${location.hash}`);

use your newly defined custom scheme:

window.location.replace(`gamurs://[EXTENSION-ID]/dist/login/login.html${location.hash}`);

Now this line:

2020-12-21 17:21:50,198 (WARN) [25] OverwolfCustomSchemeBaseHandlerFactory - block custom scheme navigation 'overwolf-extension://jdegahkkdbjbcgkklfibepphggjbjdeognaeiaol/build/steam-login.html?steamid=76561197987812811' from: 'https://csgo-stats.com/overwolf_app_steam_callback?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197987812811&openid.identity=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197987812811&openid.return_to=https%3A%2F%2Fcsgo-stats.com%2Foverwolf_app_steam_callback&openid.response_nonce=2020-12-21T06%3A21%3A47ZsK2U8kZrspUCm1cwMLQ3a4CZB3g%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=b9%2BqrQVr6hvkSoELRN8zxmoAZUI%3D'

Doesn’t show up but the other 2 do, and the app crashes with no visible errors.

Actually now I get this when installing the app:

2020-12-22 10:21:31,228 (ERROR) [UI] <191.06MB> URLProtocolRegistration - Error creating protocol launcher process: jdegahkkdbjbcgkklfibepphggjbjdeognaeiaol: : System.NotSupportedException: The given path's format is not supported.at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)at Overwolf.Extensions.URLProtocolRegistration.CreateUrlProtocolLauncher(ProtocolInfo info)
2020-12-22 10:21:31,291 (ERROR) [UI] <191.06MB> ExtensionDataManager - register url protocol error jdegahkkdbjbcgkklfibepphggjbjdeognaeiaol: : System.Exception: Fail to create extension url protocol launcherat Overwolf.Extensions.URLProtocolRegistration.RegisterExtension(ProtocolInfo info)at OverWolf.Client.BL.ODKv2.Managers.DataManager.ExtensionDataManager.HandleExtensionURLProtocol(ExtensionData extensionData, Boolean enabled)

@andrew-gamurs why you reinstalling your app? you can unload/load it to update it with the latest changes in the manifest.

Anyway, last try before I escalate it to the R&D - can you please add to your manifest permissions array the Extensions permission, and try again?

Thanks.

I meant I’m clicking “Uninstall” and “Load unpacked extension…” in the developer tools.

Extensions permission is already in the permissions array.

@andrew-gamurs Hi, I might escalate it to our R&D.

Can you please:

  1. Send me the OPK to reproduce. (you can DM here or in slack).
  2. Please give me the exact steps to reproduce.

Thanks.

Sent the OPKs via Slack DM.

Steps to reproduce:

  1. Press ‘Connect Your Steam Account’
  2. Press ‘Connect To Steam’
  3. Complete the Steam login process
  4. Depending on version:
    a. 2.0.1, Get stuck on our empty page prior to redirect
    b. 2.0.2-internal, Get stuck on our empty page prior to redirect
    c. 2.0.2-internal-2, App crashes with no visible errors

Thanks. I will update you in the next two days.
Thanks for your patience.

I will probably need to escalate it to our R&D. I will update again later today. Thanks.

Hi.

I escalated it to the R&D. After investigation, I will update here of course.
If you have any updates, please let me know.

Thanks.

HI.

I want to make sure that we are on the same page here:
did you implement the new SSO flow as described in this doc?:

It should solve your issue.

Please confirm.

Thanks.

I believe I did implement as close as I could to that documentation but the error occurs when on the last step when redirected from steam to the static page on the server. At that point it’s supposed to redirect to the app’s login page, which I believe it does and that’s when the crash occurs.

1 Like

HI, i am getting same issue with redirect, i also used this given guide to implement login with discord but i am stuck at the very same error. I have posted detailed question here Login using 3rd party app - #14 by ShoaibIqbal452. Please share if you have got any solution/workaround.

We’ll release a fix for this issue in about 2-3 weeks

The fix will be released on Overwolf version 168.

@andrew-gamurs please note that you should create and open a dedicated app window (and not a browser window) for the login process. An example for such window can be found here: App login with Twitch, Discord, Facebook or Google · Overwolf

Great to hear @itayG, is there an ETA on when the version will be released? We’ve already got the login flow changed to use a dedicated app window rather than browser, just awaiting 168 for testing

@andrew-gamurs ETA for v0.166 public release is about a month from now. Less for the developer’s channel version.