geteduroam / linux-app

geteduroam Linux client
BSD 3-Clause "New" or "Revised" License
19 stars 3 forks source link

Client authorization using the browser does not work with Firefox (has workaround) #47

Closed mmterpstra closed 7 months ago

mmterpstra commented 8 months ago

Client authorization using the browser does not work with Firefox 122.0 (64-bit) snap on Ubuntu 22.04. app version: nightly amd-64 cli build

Your browser has been opened to authorize the client
Or copy and paste the following url:  https://umcg.geteduroam.nl/oauth/authorize/?client_id=app.geteduroam.sh&code_challenge=...............

Workaround: Copypaste the url into Chromium instead of the default Firefox browser.

Preferred solution: Bundle own browser (web app) ? or warn about using firefox?

jwijenbergh commented 8 months ago

Hmmm, what doesn't work exactly with firefox?

mmterpstra commented 8 months ago

Hmm could be scripts being blocked or does the script expect some communication from the browser? Tested it and https://umcg.geteduroam.nl/oauth/authorize/ does not show it doesn´t work without javascript.

jwijenbergh commented 8 months ago

Yes indeed, it waits for authorization from the browser so if the page is not loading it wont work. Does it work on chromium without js? On firefox if you enable js does it work? Embedding a browser is not really what is normally done on desktop, and it's not a good idea from a security standpoint

mmterpstra commented 8 months ago

Does it work on chromium without js?

Probably not.

On firefox if you enable js does it work?

Yes. tested this.

The website with the entire link filled ([something like this(https://umcg.geteduroam.nl/oauth/authorize/?client_id=app.geteduroam.sh&code_challenge=...............)) shows the authorize button. Although button does not work without js.

May add an enable js warning on the website:

<noscript>
    <style type="text/css">
        .pagecontainer {display:none;}
    </style>
    <div class="noscriptmsg">
        umcg.geteduroam.nl/oauth/authorize does not work correctly without javascript please enable it.
    </div>
</noscript>
jwijenbergh commented 7 months ago

This is not an issue with this client, nor do I maintain that server. The authorize button itself works fine without javascript for me. Are you sure it's not because you're arriving at a microsoft portal that wants javascript to be enabled?