koel / player

Koel Player, the official mobile app for Koel.
https://koel.dev
426 stars 122 forks source link

Unable to sign in #54

Closed Dhs92 closed 1 year ago

Dhs92 commented 2 years ago

Just got my server up and running. I'm able to access the webapp on both my phone and desktop, but when trying to sign in using the mobile app it just says "Oops! Something wrong happened." with "Retry" and "Log Out". "Retry" just causes the app to sit there with a loading logo and it won't ever progress.

EDIT: Here's my nginx config

server {
        listen           *:8000;
        root             /usr/local/share/koel/public;
        server_name      koel.piehole;
        index            index.php;

        gzip             on;
        gzip_types       text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
        gzip_comp_level  9;

        location / {
          try_files   $uri $uri/ /index.php?$args;

          error_log /var/log/nginx/koel.error.log;
        }

        location /media/ {
           internal;

           alias         $upstream_http_x_media_root;
        }

        location ~ \.php$ {
          try_files $uri $uri/ /index.php?$args;

          fastcgi_param     PATH_INFO $fastcgi_path_info;
          fastcgi_param     PATH_TRANSLATED $document_root$fastcgi_path_info;
          fastcgi_param     SCRIPT_FILENAME $document_root$fastcgi_script_name;

          fastcgi_pass              unix:/var/run/php74-fpm.sock;
          fastcgi_index             index.php;
          fastcgi_split_path_info   ^(.+\.php)(/.+)$;
          fastcgi_intercept_errors  on;
          include                   fastcgi_params;
        }
    }
phanan commented 2 years ago

Does your server have SSL?

Dhs92 commented 2 years ago

It does not, running on port 80 with no cert

On Sun, Dec 5, 2021, 8:23 AM Phan An @.***> wrote:

Does your server have SSL?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986259618, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXNGKTKWTFVZFR2UYPFZULUPOGXBANCNFSM5I46I5PA .

phanan commented 2 years ago

That must be the reason then. iOS app policies require an API to have SSL for the app to communicate with. Luckily SSL support is trivial these days with Let's Encrypt—I'd suggest you take a look.

Dhs92 commented 2 years ago

I'm on Android, do they have a similar policy?

Dhs92 commented 2 years ago

I setup a reverse proxy using nginx that enforces TLS, but I am still receiving the same error. I have confirmed that the webapp works via the new proxy and have set FORCE_HTTPS as per #921 on the main repo.

On Sun, Dec 5, 2021 at 5:54 PM Phan An @.***> wrote:

That must be the reason then. iOS app policies require an API to have SSL for the app to communicate with. Luckily SSL support is trivial these days with Let's Encrypt—I'd suggest you take a look.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986272931, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXNGKUPRMHRF6OWRUBNMKTUPORO3ANCNFSM5I46I5PA .

-- Alex Forehand

phanan commented 2 years ago

Can you share a screenshot or even better, a screen recording?

Dhs92 commented 2 years ago

https://imgur.com/a/SydTUKf here's a video of an attempt to sign in. There's no error or access history in the nginx log in the Koel jail. (Running Koel in jail, listening via nginx on local subnet. Separate reverse proxy jail is setup to listen on 443 and forward based on subdomain w/ LE certificate)

On Sun, Dec 5, 2021, 11:22 AM Phan An @.***> wrote:

Reopened #54 https://github.com/koel/player/issues/54.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#event-5717129903, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXNGKU73MRAQ4WBU3OA3L3UPO3WFANCNFSM5I46I5PA .

phanan commented 2 years ago

Hmm, the fact that there’s no nginx log of at least an access entry sounds weird to me. Nevertheless, here are the login/startup flow:

Looks like the first request (login) went through and you were authenticated, because when you restart the app, Koel attempts to load the data and fails (you can even see the “Log Out” button). TBH I’m not sure how to help you from here – maybe check the network profiling with some dev tools?

Btw I’m not too familiar with the “jail” concept.

On Sun 5. Dec 2021 at 20:31 Alex @.***> wrote:

https://imgur.com/a/SydTUKf here's a video of an attempt to sign in. There's no error or access history in the nginx log in the Koel jail. (Running Koel in jail, listening via nginx on local subnet. Separate reverse proxy jail is setup to listen on 443 and forward based on subdomain w/ LE certificate)

On Sun, Dec 5, 2021, 11:22 AM Phan An @.***> wrote:

Reopened #54 https://github.com/koel/player/issues/54.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#event-5717129903, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAXNGKU73MRAQ4WBU3OA3L3UPO3WFANCNFSM5I46I5PA

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986287143, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5O3UTEIHK46WV2DHMXIXLUPO42RANCNFSM5I46I5PA .

Dhs92 commented 2 years ago

Jails are similar to docker containers, but for FreeBSD. I'm running this on a TrueNAS system.

Anyways, I'll dig around a bit more and report back if I find anything/fix it.

On Sun, Dec 5, 2021, 11:48 AM Phan An @.***> wrote:

Hmm, the fact that there’s no nginx log of at least an access entry sounds weird to me. Nevertheless, here are the login/startup flow:

  • User keys in username and password
  • Auth request is made
  • If successful, token is saved into storage
  • Data request is made with token to load songs, albums etc.

Looks like the first request (login) went through and you were authenticated, because when you restart the app, Koel attempts to load the data and fails (you can even see the “Log Out” button). TBH I’m not sure how to help you from here – maybe check the network profiling with some dev tools?

Btw I’m not too familiar with the “jail” concept.

On Sun 5. Dec 2021 at 20:31 Alex @.***> wrote:

https://imgur.com/a/SydTUKf here's a video of an attempt to sign in. There's no error or access history in the nginx log in the Koel jail. (Running Koel in jail, listening via nginx on local subnet. Separate reverse proxy jail is setup to listen on 443 and forward based on subdomain w/ LE certificate)

On Sun, Dec 5, 2021, 11:22 AM Phan An @.***> wrote:

Reopened #54 https://github.com/koel/player/issues/54.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#event-5717129903, or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AAXNGKU73MRAQ4WBU3OA3L3UPO3WFANCNFSM5I46I5PA

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986287143, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AB5O3UTEIHK46WV2DHMXIXLUPO42RANCNFSM5I46I5PA

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986289161, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXNGKX3GL4YNHJYR3NDTB3UPO6ZPANCNFSM5I46I5PA .

Dhs92 commented 2 years ago

From the koel jail.

root@koel:/var/log/nginx # cat access.log
192.168.1.213 - - [05/Dec/2021:13:26:47 -0800] "GET /api/me HTTP/1.0" 200 115 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:26:47 -0800] "GET /api/data HTTP/1.0" 200 2631 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:26:48 -0800] "DELETE /api/me HTTP/1.0" 204 0 "-" "Dart/2.14 (dart:io)"
root@koel:/var/log/nginx # cat access.log
192.168.1.213 - - [05/Dec/2021:13:26:47 -0800] "GET /api/me HTTP/1.0" 200 115 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:26:47 -0800] "GET /api/data HTTP/1.0" 200 2631 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:26:48 -0800] "DELETE /api/me HTTP/1.0" 204 0 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:27:03 -0800] "POST /api/me HTTP/1.0" 200 55 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:27:04 -0800] "GET /api/me HTTP/1.0" 200 115 "-" "Dart/2.14 (dart:io)"
192.168.1.213 - - [05/Dec/2021:13:27:04 -0800] "GET /api/data HTTP/1.0" 200 2631 "-" "Dart/2.14 (dart:io)"
root@koel:/var/log/nginx # cat error.log
root@koel:/var/log/nginx # cat koel.error.log
root@koel:/var/log/nginx #
Dhs92 commented 2 years ago

The app ignores proxy settings, makes reading the individual requests through burp a bit difficult..lol. Any suggestions?

Jails are similar to docker containers, but for FreeBSD. I'm running this on a TrueNAS system.

Anyways, I'll dig around a bit more and report back if I find anything/fix it.

On Sun, Dec 5, 2021, 11:48 AM Phan An @.***> wrote:

Hmm, the fact that there’s no nginx log of at least an access entry sounds weird to me. Nevertheless, here are the login/startup flow:

  • User keys in username and password
  • Auth request is made
  • If successful, token is saved into storage
  • Data request is made with token to load songs, albums etc.

Looks like the first request (login) went through and you were authenticated, because when you restart the app, Koel attempts to load the data and fails (you can even see the “Log Out” button). TBH I’m not sure how to help you from here – maybe check the network profiling with some dev tools?

Btw I’m not too familiar with the “jail” concept.

On Sun 5. Dec 2021 at 20:31 Alex @.***> wrote:

https://imgur.com/a/SydTUKf here's a video of an attempt to sign in. There's no error or access history in the nginx log in the Koel jail. (Running Koel in jail, listening via nginx on local subnet. Separate reverse proxy jail is setup to listen on 443 and forward based on subdomain w/ LE certificate)

On Sun, Dec 5, 2021, 11:22 AM Phan An @.***> wrote:

Reopened #54 https://github.com/koel/player/issues/54.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#event-5717129903, or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AAXNGKU73MRAQ4WBU3OA3L3UPO3WFANCNFSM5I46I5PA

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986287143, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AB5O3UTEIHK46WV2DHMXIXLUPO42RANCNFSM5I46I5PA

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-986289161, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXNGKX3GL4YNHJYR3NDTB3UPO6ZPANCNFSM5I46I5PA .

-- Alex Forehand

Dhs92 commented 2 years ago

An update: I recently migrated to SCALE (Linux, where CORE is FreeBSD), which uses k3s instead of FreeBSD jails. It would appear that the app is working as intended now. I also noticed that building from source errors out and says that one of the dependencies is not compatible with FreeBSD. Looks like there might be an inherent incompatibility with FreeBSD on the server side of things?

matteosacchetto commented 2 years ago

Hi, I'm experiencing a similar issue. Here is my setup:

Whenever I try to login, it only appears the error message: There was a problem logging is. Please try again

I've see that the domain resolution is performed, but no request is performed to the server (nothing showing in the server logs), so I think it is something related to the app itself or my Android device rather than the server setup

Let me know how I can help you further and thank you for the awesome job 💪🏼

nickian commented 1 year ago

I have this same problem. Using a Let's Encrypt certificate and the nginx example configuration provided in the repo. Works fine in the browser, but can't log into the iOS app.

phanan commented 1 year ago

V2 is being reviewed by Apple and should be available soon. Please upgrade and see if the problem persists.

On Mon 10. Apr 2023 at 10:12 Nick @.***> wrote:

I have this same problem. Using a Let's Encrypt certificate and the nginx example configuration provided in the repo. Works fine in the browser, but can't log into the iOS app.

— Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-1501536867, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5O3UVXNZ6WVDHTCZB5QN3XAO6GXANCNFSM5I46I5PA . You are receiving this because you modified the open/close state.Message ID: @.***>

Dhs92 commented 1 year ago

Will the android app be updated as well? The play store shows the last update was October of 2021

phanan commented 1 year ago

Yes.

On Mon 10. Apr 2023 at 15:33 Alex @.***> wrote:

Will the android app be updated as well? The play store shows the last update was October of 2021

— Reply to this email directly, view it on GitHub https://github.com/koel/player/issues/54#issuecomment-1501819474, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5O3URGIXXNVNKFWX236QTXAQD4JANCNFSM5I46I5PA . You are receiving this because you modified the open/close state.Message ID: @.***>

nickian commented 1 year ago

Still can't log in with the new version of the app on iOS. 🤷‍♂️

There are no errors added to either my Nginx error log or to the Laravel log when trying and failing to log in.

phanan commented 1 year ago

Can you perhaps share with me a set of credentials? My email is me@phanan.net.

nickian commented 1 year ago

I am currently just running it on my local network, so it is not accessible outside. I can try setting an instance up on Digital Ocean to see if I have the same issue.

phanan commented 1 year ago

If it's a local network how would the mobile app be able to access it?

nickian commented 1 year ago

Because my iPhone is connected to the same local router. If I'm away from my local network, I use Wireguard to connect into it. The network is not the issue.

phanan commented 1 year ago

Ah right. I would suggest trying a public instance as you said then. TBH I'm not familiar with this kind of VPN setup, which might very well be why Koel is unable to connect.

nickian commented 1 year ago

I'm not using the VPN. I'm at home on the network. It does seem to work fine on Digital Ocean.

Does the app need to be connected to the internet? In other words, does the external internet need to be able to ping my instance for some reason? Should it not work offline?

nickian commented 1 year ago

Doesn't make much sense. I can pull up the login screen in Safari as well. But it won't let me login with my user/pass. It acts like I put in wrong credentials. Put the same ones in on my laptop and it works fine.

phanan commented 1 year ago

If by Safari you mean mobile Safari then I'd strongly suggest there are some different configs between your phone and your laptop. Unfortunately, as mentioned above, I'm not familiar with this kind of setup so my support is limited.

nickian commented 1 year ago

I will do more investigating. Things seem to work on the cloud but not on my home server. The setups are basically the same (Ubuntu, php-fpm 8.0, Nginx). I'll update if I find some configuration issue causing this.

phanan commented 1 year ago

Closing as I don't believe this is a Koel-specific issue.