iOS app Oauth not working with latest update #4540

Closed
opened 2026-02-05 10:39:48 +03:00 by OVERLORD · 14 comments
Owner

Originally created by @clucraft on GitHub (Oct 15, 2024).

The bug

I updated to latest Immich today, as well as the iOS app. I have setup the Google OAuth configuration, which is working fine for desktop browser login, and was previously working great on the iOS app. But after today's update, I can no longer login using the iOS app with Google OAuth. Just so happens my wife wanted to sign up and use it today, that's how I discovered it was broken.

The error I receive after tapping the OAuth login within the app is:
custom scheme uris are not allowed for 'web' client type

The OS that Immich Server is running on

Unraid Docker

Version of Immich Server

latest

Version of Immich Mobile App

latest

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

Not sure how to pull that in Unraid, for me it's just a gui with text fields, but nothing is configured out of the ordinary I would say.

Your .env content

N/A

Reproduction steps

  1. Log out of Immich ios app
  2. Attempt to log back in using Google OAuth

Relevant log output

No response

Additional information

No response

Originally created by @clucraft on GitHub (Oct 15, 2024). ### The bug I updated to latest Immich today, as well as the iOS app. I have setup the Google OAuth configuration, which is working fine for desktop browser login, and was previously working great on the iOS app. But after today's update, I can no longer login using the iOS app with Google OAuth. Just so happens my wife wanted to sign up and use it today, that's how I discovered it was broken. The error I receive after tapping the OAuth login within the app is: custom scheme uris are not allowed for 'web' client type ### The OS that Immich Server is running on Unraid Docker ### Version of Immich Server latest ### Version of Immich Mobile App latest ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML Not sure how to pull that in Unraid, for me it's just a gui with text fields, but nothing is configured out of the ordinary I would say. ``` ### Your .env content ```Shell N/A ``` ### Reproduction steps 1. Log out of Immich ios app 2. Attempt to log back in using Google OAuth ### Relevant log output _No response_ ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Oct 15, 2024):

If you revert to 1.117.0 on the server, does it work?

@alextran1502 commented on GitHub (Oct 15, 2024): If you revert to 1.117.0 on the server, does it work?
Author
Owner

@clucraft commented on GitHub (Oct 15, 2024):

If you revert to 1.117.0 on the server, does it work?

Is that safe to do? I don't want to break anything more than it is lol

@clucraft commented on GitHub (Oct 15, 2024): > If you revert to 1.117.0 on the server, does it work? Is that safe to do? I don't want to break anything more than it is lol
Author
Owner

@bo0tzz commented on GitHub (Oct 15, 2024):

What are the redirect URIs you've configured on your oauth server?

@bo0tzz commented on GitHub (Oct 15, 2024): What are the redirect URIs you've configured on your oauth server?
Author
Owner

@clucraft commented on GitHub (Oct 15, 2024):

What are the redirect URIs you've configured on your oauth server?

image

@clucraft commented on GitHub (Oct 15, 2024): > What are the redirect URIs you've configured on your oauth server? ![image](https://github.com/user-attachments/assets/00e68b46-875f-4c85-91f2-0dca383b240a)
Author
Owner

@nicokaiser commented on GitHub (Oct 15, 2024):

Does adding app.immich:///oauth-callback as additional Redirect URI help? I think v0.113.0 added this.

@nicokaiser commented on GitHub (Oct 15, 2024): Does adding `app.immich:///oauth-callback` as additional Redirect URI help? I think [v0.113.0](https://github.com/immich-app/immich/releases/tag/v1.113.0) added this.
Author
Owner

@clucraft commented on GitHub (Oct 15, 2024):

Does adding app.immich:///oauth-callback as additional Redirect URI help? I think v0.113.0 added this.

Unfortunately google doesn't allow you to add that, it shows as invalid.
image

@clucraft commented on GitHub (Oct 15, 2024): > Does adding `app.immich:///oauth-callback` as additional Redirect URI help? I think [v0.113.0](https://github.com/immich-app/immich/releases/tag/v1.113.0) added this. Unfortunately google doesn't allow you to add that, it shows as invalid. ![image](https://github.com/user-attachments/assets/2eb971ad-bc84-4f91-bcaf-93dae4f05ae2)
Author
Owner

@bo0tzz commented on GitHub (Oct 15, 2024):

Can you share your complete oauth config on both Immich and Google? Of course, redact client secrets and such ;)

@bo0tzz commented on GitHub (Oct 15, 2024): Can you share your complete oauth config on both Immich and Google? Of course, redact client secrets and such ;)
Author
Owner

@Harguer commented on GitHub (Oct 15, 2024):

I believe the issue is not with the oauth, I have a script to check every day new updates and deploy the new image if find it, and today my app lost communication, i tried with browser, curl from the localhost (the server that host the docker container) and nothing worked. Initially I thought it seemed something like a firewall was blocking the traffic to the port.

~/immich $ curl 0:2283 -iv
*   Trying 0.0.0.0:2283...
* Connected to 0 (127.0.0.1) port 2283 (#0)
> GET / HTTP/1.1
> Host: 0:2283
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer
pi@backup-pi:~/immich $ curl 127.0.0.1:2283 -iv
*   Trying 127.0.0.1:2283...
* Connected to 127.0.0.1 (127.0.0.1) port 2283 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1:2283
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer
~/immich $ 

Las logs:

17  - 10/15/2024, 6:07:22 PM     LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v1.118.0] [production] 
[Nest] 7  - 10/15/2024, 6:07:22 PM     LOG [Microservices:StorageService] Verifying system mount folder checks (enabled=true)
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:StorageService] Successfully verified system mount folder checks
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:NestFactory] Starting Nest application...
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] ConfigHostModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] ClsModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] ConfigModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] BullModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] TypeOrmCoreModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] TypeOrmModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:NestApplication] Nest application successfully started
[Nest] 7  - 10/15/2024, 6:07:23 PM     LOG [Microservices:Bootstrap] Immich Microservices is running [v1.118.0] [production] 

Going inside the pod, curl works

$ docker exec -ti server bash
root@71ca8c4ceaf1:/usr/src/app# netstat -atopleun| grep LIST
tcp        0      0 127.0.0.11:46165        0.0.0.0:*               LISTEN      0          20274572   -                    off (0.00/0/0)
tcp6       0      0 :::37537                :::*                    LISTEN      0          20276869   7/immich             off (0.00/0/0)
tcp6       0      0 :::2283                 :::*                    LISTEN      0          20279385   17/immich-api        off (0.00/0/0)
tcp6       0      0 :::8081                 :::*                    LISTEN      0          20277273   17/immich-api        off (0.00/0/0)
tcp6       0      0 :::8082                 :::*                    LISTEN      0          20274794   7/immich             off (0.00/0/0)
root@71ca8c4ceaf1:/usr/src/app# curl  -s 0:2283 >/dev/null && echo works
works
root@71ca8c4ceaf1:/usr/src/app# 

I think the issue is with the port 3001? it is the one defined in the previous image, and it instead is the 2283 in the new one.
Container image 117.0:

root@629ac596285f:/usr/src/app# netstat -atopleun| grep LIST
tcp        0      0 127.0.0.11:45959        0.0.0.0:*               LISTEN      0          20295260   -                    off (0.00/0/0)
tcp6       0      0 :::41449                :::*                    LISTEN      0          20299437   7/immich             off (0.00/0/0)
tcp6       0      0 :::8081                 :::*                    LISTEN      0          20297032   17/immich-api        off (0.00/0/0)
tcp6       0      0 :::8082                 :::*                    LISTEN      0          20295608   7/immich             off (0.00/0/0)
tcp6       0      0 :::3001                 :::*                    LISTEN      0          20298678   17/immich-api        off (0.00/0/0)
root@629ac596285f:/usr/src/app# 

Temporarily defining the new port in the template could resolve the issue too...
Hope this helps

@Harguer commented on GitHub (Oct 15, 2024): I believe the issue is not with the oauth, I have a script to check every day new updates and deploy the new image if find it, and today my app lost communication, i tried with browser, curl from the localhost (the server that host the docker container) and nothing worked. Initially I thought it seemed something like a firewall was blocking the traffic to the port. ``` ~/immich $ curl 0:2283 -iv * Trying 0.0.0.0:2283... * Connected to 0 (127.0.0.1) port 2283 (#0) > GET / HTTP/1.1 > Host: 0:2283 > User-Agent: curl/7.74.0 > Accept: */* > * Recv failure: Connection reset by peer * Closing connection 0 curl: (56) Recv failure: Connection reset by peer pi@backup-pi:~/immich $ curl 127.0.0.1:2283 -iv * Trying 127.0.0.1:2283... * Connected to 127.0.0.1 (127.0.0.1) port 2283 (#0) > GET / HTTP/1.1 > Host: 127.0.0.1:2283 > User-Agent: curl/7.74.0 > Accept: */* > * Recv failure: Connection reset by peer * Closing connection 0 curl: (56) Recv failure: Connection reset by peer ~/immich $ ``` Las logs: ``` 17 - 10/15/2024, 6:07:22 PM LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v1.118.0] [production] [Nest] 7 - 10/15/2024, 6:07:22 PM LOG [Microservices:StorageService] Verifying system mount folder checks (enabled=true) [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:StorageService] Successfully verified system mount folder checks [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:NestFactory] Starting Nest application... [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] ConfigHostModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] ClsModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] ConfigModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] BullModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] TypeOrmCoreModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] TypeOrmModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:NestApplication] Nest application successfully started [Nest] 7 - 10/15/2024, 6:07:23 PM LOG [Microservices:Bootstrap] Immich Microservices is running [v1.118.0] [production] ``` Going inside the pod, curl works ``` $ docker exec -ti server bash root@71ca8c4ceaf1:/usr/src/app# netstat -atopleun| grep LIST tcp 0 0 127.0.0.11:46165 0.0.0.0:* LISTEN 0 20274572 - off (0.00/0/0) tcp6 0 0 :::37537 :::* LISTEN 0 20276869 7/immich off (0.00/0/0) tcp6 0 0 :::2283 :::* LISTEN 0 20279385 17/immich-api off (0.00/0/0) tcp6 0 0 :::8081 :::* LISTEN 0 20277273 17/immich-api off (0.00/0/0) tcp6 0 0 :::8082 :::* LISTEN 0 20274794 7/immich off (0.00/0/0) root@71ca8c4ceaf1:/usr/src/app# curl -s 0:2283 >/dev/null && echo works works root@71ca8c4ceaf1:/usr/src/app# ``` I think the issue is with the port 3001? it is the one defined in the previous image, and it instead is the 2283 in the new one. Container image 117.0: ``` root@629ac596285f:/usr/src/app# netstat -atopleun| grep LIST tcp 0 0 127.0.0.11:45959 0.0.0.0:* LISTEN 0 20295260 - off (0.00/0/0) tcp6 0 0 :::41449 :::* LISTEN 0 20299437 7/immich off (0.00/0/0) tcp6 0 0 :::8081 :::* LISTEN 0 20297032 17/immich-api off (0.00/0/0) tcp6 0 0 :::8082 :::* LISTEN 0 20295608 7/immich off (0.00/0/0) tcp6 0 0 :::3001 :::* LISTEN 0 20298678 17/immich-api off (0.00/0/0) root@629ac596285f:/usr/src/app# ``` Temporarily defining the new port in the template could resolve the issue too... Hope this helps
Author
Owner

@bo0tzz commented on GitHub (Oct 15, 2024):

@Harguer you have a completely unrelated issue, and it's caused by not reading the release notes.

@bo0tzz commented on GitHub (Oct 15, 2024): @Harguer you have a completely unrelated issue, and it's caused by not reading the release notes.
Author
Owner

@clucraft commented on GitHub (Oct 15, 2024):

Can you share your complete oauth config on both Immich and Google? Of course, redact client secrets and such ;)

Sure, here you go:
image
image

@clucraft commented on GitHub (Oct 15, 2024): > Can you share your complete oauth config on both Immich and Google? Of course, redact client secrets and such ;) Sure, here you go: ![image](https://github.com/user-attachments/assets/0e6821da-6e4b-40a4-b831-1e18b289af5a) ![image](https://github.com/user-attachments/assets/422e7703-3b76-412a-ad4b-c0e29f773529)
Author
Owner

@clucraft commented on GitHub (Oct 16, 2024):

Sorry if this is a silly question, but when will we see the fix? Is it in
an iOS app update, or is it in Immich itself? Thanks!

On Tue, Oct 15, 2024 at 4:41 PM Jason Rasmussen @.***>
wrote:

Closed #13467 https://github.com/immich-app/immich/issues/13467 as
completed via #13474 https://github.com/immich-app/immich/pull/13474.


Reply to this email directly, view it on GitHub
https://github.com/immich-app/immich/issues/13467#event-14664042461, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUAA6F75N2SG7OLV4KHRL6LZ3V4YNAVCNFSM6AAAAABP7NFJTKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGY3DIMBUGI2DMMI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@clucraft commented on GitHub (Oct 16, 2024): Sorry if this is a silly question, but when will we see the fix? Is it in an iOS app update, or is it in Immich itself? Thanks! On Tue, Oct 15, 2024 at 4:41 PM Jason Rasmussen ***@***.***> wrote: > Closed #13467 <https://github.com/immich-app/immich/issues/13467> as > completed via #13474 <https://github.com/immich-app/immich/pull/13474>. > > — > Reply to this email directly, view it on GitHub > <https://github.com/immich-app/immich/issues/13467#event-14664042461>, or > unsubscribe > <https://github.com/notifications/unsubscribe-auth/AUAA6F75N2SG7OLV4KHRL6LZ3V4YNAVCNFSM6AAAAABP7NFJTKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGY3DIMBUGI2DMMI> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> >
Author
Owner

@alextran1502 commented on GitHub (Oct 16, 2024):

@chaosclarity84 update the server to v1.118.1 will fix it

@alextran1502 commented on GitHub (Oct 16, 2024): @chaosclarity84 update the server to v1.118.1 will fix it
Author
Owner

@sgbangale commented on GitHub (Oct 21, 2024):

image
I have configured google oauth and getting error when I use iOS app v1.118.0 and server version is as per below screenshot
image

I can use google oauth from web browser, also changed redirect uri 'https://photos.xxx.xxx/app/oauth/mobile-redirect'

@sgbangale commented on GitHub (Oct 21, 2024): ![image](https://github.com/user-attachments/assets/b01acc24-a3e2-4e97-aa4b-cd533804a268) I have configured google oauth and getting error when I use iOS app v1.118.0 and server version is as per below screenshot ![image](https://github.com/user-attachments/assets/e91f07ff-c571-45fa-9e60-185fde2d1c7d) I can use google oauth from web browser, also changed redirect uri 'https://photos.xxx.xxx/app/oauth/mobile-redirect'
Author
Owner

@bo0tzz commented on GitHub (Oct 21, 2024):

That should be /api/ not /app/

@bo0tzz commented on GitHub (Oct 21, 2024): That should be /api/ not /app/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#4540