[2FA/TOTP] Direct support for 2FA/TOTP. #8175
Replies: 31 comments 49 replies
-
Immich intentionally keeps auth simple and delegates to dedicated solution. That's a design choice that is unlikely to change. |
Beta Was this translation helpful? Give feedback.
-
i agree with @qauff i think the need to use an external service, isn't a good idea. for example, i decided to not use 2fa in my install, because it was an other step in the setup. pleast add TOTP |
Beta Was this translation helpful? Give feedback.
-
Very surprised there is no native TOTP-support. Started to set up Authelia (and looked at Authentik) but gave up. Spinning up several new containers, edit config files and trying to learn all about this new topic proved too much for me. I see people asking all the time about 2FA/TOTP-support. I really hope this would be reconsidered. |
Beta Was this translation helpful? Give feedback.
-
Would also want see an implementation of TOTP 2FA to add extra layer of security, specially on interface facing the open internet. Lot of open source apps I use have this, like NextCloud and Firefly III, and it's easy to enable without any additional running services. Doesn't seem to be that hard to implement either after what I researched earlier. It's pretty crucial for security reasons. If someone manage to brute force the login, you are screwed. Having 2FA prevents malicious actor gaining access even thru brute forcing. I looked into OAuth, and although it's good, it require additional services and configurations to be set up for one service, which I would argue that many skip because of the added complexity. |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
-
It's a very odd decision. I chose Immich specifically to avoid dependency on external services. But if the alternative is setting up a new container, keeping it safe and updated, editing config files, configuring the reverse proxy (more file editing), adjusting DNS settings and learning an entirely new process just to have some form of TOTP/2FA exclusively for Immich, that’s just too much. I really like Immich, and I’m very grateful to the developers, but for me, this is a hard pill to swallow. |
Beta Was this translation helpful? Give feedback.
-
@schuhbacca I know that it is a design decision that auth should be delegated to an IdP. But not all users are able to operate an IdP, especially if only for one app. That's why I'm asking you to add this feature request to the roadmap. |
Beta Was this translation helpful? Give feedback.
-
I wouldn’t mind looking into implementing this feature myself. But I don’t want to have my PR auto rejected because it’s a design choice. I still strongly believe this is a necessary feature and don’t mind contributing. |
Beta Was this translation helpful? Give feedback.
-
Just look at the amount of interest in this thread alone, how can this be ignored or prs rejected. So strange. |
Beta Was this translation helpful? Give feedback.
-
This has been covered thoroughly in a handful of other places, but I'll rehash it here once more. Implementing a good authentication system is hard, and therefore easy to get wrong, while being exactly the sort of thing you do not want to get wrong. We decided a long time ago that the risk of getting it wrong is not worth it, because it is easy enough to support OAuth and delegate the hard parts to other people who know what they're doing and have all the auth stuff figured out. That's an application security decision that community interest doesn't have much bearing on. There are many great OAuth providers out there, including options you don't have to manage yourself such as using something like Github as the OAuth provider. If you have the knowledge necessary to manage Immich, you can also figure out OAuth, and then you can rest easy knowing that the critical authentication layer is being handled by people who are fully focused on getting it right. |
Beta Was this translation helpful? Give feedback.
-
I have tried to setup Authentik but it went so over my head I don't even know what I was looking at. I'm not an IT guy. I'm also behind CGNAT and my only option is cloudflare tunnel which makes everything even more complicated with certificates. |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
-
It's crazy that this kind of safety feature is not on the priority development list. |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
-
Yeah, not to necropost, but it seems like almost every other self hosted app I expose to the internet has some form of TOTP build into it; Home Assistant, Plex, Uptime Kuma. I'd love an implementation for Immich as well, since I can't exactly give my grandparents Tailscale and expect them to figure it out every time, so I just have to publicly host it. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone, I wanted to share my thoughts on this important topic. As someone who values the privacy and security of my personal photos, I'm genuinely concerned that Immich doesn't offer built-in support for TOTP/2FA. Our photos capture precious moments and memories, and the idea of someone gaining unauthorized access to them is alarming. I truly believe Immich has the potential to be an excellent alternative to Google Photos and iCloud. However, the lack of this essential security feature is a significant oversight. Implementing TOTP/2FA should be a priority, making it easy for all users to protect their sensitive data. There's clearly a strong interest in this feature, and I hope it will be reconsidered as 2FA is a necessity for any login system, even a simple one. |
Beta Was this translation helpful? Give feedback.
-
I was excited to discover Immich and have just set it up today, and was trying to find the 2FA setting above like @nesalkiN mentioned - I assumed it's available, because it's basically a no-brainer. I am genuinely shocked to see that it's not available, and that I'm expected to host some sort of thing that provides my own OAuth. I have no idea how to do that and just don't have the capacity to figure it out. I'll have a shot at using google OAuth, but my wife won't be able to do that. (EDIT: Just looking at the instructions for configuring Google OAuth, I can see why this just isn't viable. It's ridiculously complex - the target audience here are people who want a Google Photos replacement, not people willing to spend hours learning how to just log in). I have my Immich instance exposed to the internet via Cloudflared on my Home Assistant (Immich running as an addon). It's great and all just works. My HA gets pinged by bots every other day trying to log in, but I'm not worried, mostly because of 2FA. I feel nervous leaving Immich open without 2FA. |
Beta Was this translation helpful? Give feedback.
-
As a workaround if you use nextcloud, you can enable 2fa there and use it as an oath provider. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone, About a year ago, I made a conscious decision to switch to open source - out of conviction and with the aim of taking full control of my data into my own hands. I no longer want to be dependent on large corporations to collect and analyse my information. Instead, I want transparency, self-determination and digital independence - in my own home, on my own systems. For me, authentication is also an important part of this digital sovereignty: it should not run via centralised services of the ‘big players’, but should be decentralised and trustworthy. That's why I would be delighted to see support for TOTP or two-factor authentication - another important step towards security and freedom for everyone who relies on open source! |
Beta Was this translation helpful? Give feedback.
-
I understand the same feelings many others have written up here. I also used to feel the same too: I really thought TOTP should be part of the product. I have since, because of this "limitation" set up Authelia. It's FOSS too. Originally only for Immich, now I use it for 20+ of my home/hosted apps. Authentication is hard. I understand why Immich does not want to add it to their product. Bonus for me: now Authelia has Passkey support too, and I now got that "for free" for Immich as well. And did not have to bother Immich devs to add Passkey support (after adding TOTP support). And The Next Thing in Authentication I'll get from Immich, and Immich doesn't have to use their dev time. I believe devs have made it clear enough why TOTP shouldn't be in Immich. Although I was annoyed, I do agree (now). |
Beta Was this translation helpful? Give feedback.
-
Just setup Immich. It overall looks stellar and I greatly appreciate all the work that went into it. I was, however, shocked to see no option for 2FA/TOTP built in once I logged in for the first time. The devs have every right to choose how, what and if they do a thing... Having said that, the statement being given that "Auth is hard so we decided to not implement this important security feature" is counter intuitive for multiple reasons:
I hope the devs reconsider this stance. |
Beta Was this translation helpful? Give feedback.
-
I'm honestly surprised that Immich encourages outsourcing 2FA entirely. Many self-hosted projects like Vaultwarden, Firefly III, and Pi-hole implement TOTP or even basic email based 2FA -- and for good reason. Photos are sensitive data and leaving them protected only by a password (even via OAuth) is risky. Adding basic 2FA (even email based 2FA) support internally, even as an option, would go a long way in improving user security & trust. |
Beta Was this translation helpful? Give feedback.
-
I was disappointed to see that immich does not support 2FA. I'm not an expert and want to run a small self-hosted server and this step looks beyond the amount of time I'm ready to dedicate to this task. If there was some proper doc explain step by step how to set up 2FA with at least one other solution, it would be ok, but here is what I have in the doc: |
Beta Was this translation helpful? Give feedback.
-
I love Immich. I found it a week ago and I really like it as a self-hosted replacement for Google Photos. This has left me in a very frustrating situation. I want to use Immich, but I see that it's not possible in my case to add more security than a simple password that can be brute-forced (although 1Password generates it for me). My photos show my family or work documents that I photograph to keep handy. All of this can't be accessed with a simple username and password. I'm sad, but I've had to suspend its use while waiting for the project to incorporate a native solution in the future that strengthens access, such as 2FA with Google Authenticator or similar, or for a simple solution like the app works with these external services (perhaps a step-by-step tutorial to solve the problem). In the meantime, I'm leaving Inmmich aside. |
Beta Was this translation helpful? Give feedback.
-
We've made our stance on this plenty clear (see the rest of this thread, and in particular my previous comment), and this thread has now just become a place to reiterate discontent, so I will lock it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The feature
I see that OAuth is supported now and I understand previous feature requests were closed because that's one way of achieving this. But I'd argue that having to set up a separate service, and relying on that instead isn't exactly what this feature is.
It would be great if we could get proper 2FA / TOTP support in Immich directly without needing to jump to a different service (selfhosted or otherwise).
Platform
Beta Was this translation helpful? Give feedback.
All reactions