-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
SSO using OpenID Connect #3899
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSO using OpenID Connect #3899
Conversation
e344cad to
ecbe5e3
Compare
ecbe5e3 to
77fe2b3
Compare
|
Super happy to see this PR being worked on. We (ayedo.de) would be willing to offer a sponsoring to prioritize this PR if that helps! Just reach out. |
c86e481 to
d5f78b4
Compare
|
Just added a configuration example for Gitlab which might be one of easiest way to test this PR :). |
|
Hi @Timshel, thanks for your amazing and prolonged work on this feature, is this PR close to be in a ready merge-able state or is there a lot of work left? |
|
Mainly waiting for maintainer review/feedback now :). |
|
@Timshel thx for your work!!! Hope this will be integrated soon |
|
Hoping this gets merged soon! |
|
Tagging some maintainers for review on this PR, if they have the available time resource to do so @BlackDex @dani-garcia EDIT: I don't understand the thumbs-down, because tagging maintainers doesn't mean they have time to handle the PR or review it, it's just a way to mention them, if they don't answer/go MIA, or whatever, feel free to fork on this PR and maintain your own forks, no one is entitled to do any work, they don't want to. |
|
I do not have much time actually. Also, I'm a bit puzzled with all the different SSO PR's. One way would be to create a semi-supported release branch which contains SSO support, but that could get messy keeping it up-to-date. What do you think @dani-garcia ? |
|
? As mentioned this is the continuation of the previous PRs, it all rely on openidconnect. All of those PR are based on the previous ones when the previous PR owner stopped maintaining it. I can´t speak for the owner of previous PRs but I believe this make all the others redundant. You could probably close the previous one referencing this one and encourage their owner to reopen if something is missing. Thanks @bmunro-peralex for closing his PR to make things more legible and of course for his work which is present in this PR :). |
|
Why not finally add at least one way to support OIDC? You can also flag it as preview feature or something like this to get feedback from the community, but not getting this feature into Vaultwarden after multiple PRs were provided by the community without a review or without getting merged for months until the authors then gave up feels wrong to me for an open source project. |
Well, because One way could be a different way then the others, or could cause a lot of other changes needed to be done if they do not match, or maybe even could overlap and do something totally different. 49 FIles are changed, so I'm not going to be happy if there needs to be major rework done because of adding this feature which is not fully working/supported. You have to keep in mind that this could break other code in some way. But as said before, i do not have much time to check and validate this. And this is a huge PR and a lot of testing needs to be done, and i this is not specifically on my prio list for now actually. That is why i mentioned a special branch, which builds this version with a different tag and not fully supported in terms of issues with the login from my side. |
@BlackDex I'll insist but there is no other way (At least not in the currently opened PRs). All those PR are based on the previous ones. They got more refined each time as someone picked-it up. |
|
is there any way one can help with testing? or anything that can be done to help get this merged? |
|
I've been watching the progress of this feature. I can't wait for it, but out of curiosity, how does decryption work with this feature? Is it still client side? How do you now decrypt without knowing the password? |
|
@isaiah-v as mentioned a master password is still required. There is no change on this point. |
|
@BlackDex thinking on it I don´t think the semi-supported branch is a good idea. Main issue for people running this branch is that there might be some change in the migrations that might force to correct DB state manually. Even if it's not difficult (cf Timshel/vaultwarden#db-migration), integrating in a separate branch would not help with this. Additionally unless you grant me commit rights it means that this would make it more complicated for me to support it and if you have no time for review I can't see how you would semi-support it. It's important to note that the In the end if people are not running it at the moment it might be because they are waiting for an easier way to run this (but I made updates on main@Timshel/vaultwarden to make it easier) but I would expect it's mainly because they are waiting for it to be reviewed, a solution without any review would not be worth much ... Since I'm running this myself I will maintain this branch/PR, and will continue to update main@Timshel/vaultwarden with anything I can think of to help people running it. As mentioned before if you have any question don't hesitate but please open it on Timshel/vaultwarden to prevent spamming here (of course mention this PR if you think your issue is important). In my opinion the next step is for it to be reviewed and then integrated (maybe without being promoted at first). |
|
I will definitely try to host the branch of your fork that contains sso-support and see if I run into any issues, I will report them on your repo @Timshel |
|
+1, please merge! |
|
It seems that there is a lot of hesitation on investing time into reviewing this and i can understand this. However - the longer the delay the bigger the diff guys. The branch clearly works and simply needs a bit more love. Besides it already looks like a lot of work went into this and the older preceding branches. Why not make it a beta build? Even 2.0.0-beta? The closer it is to the main stream, the quicker will be the feedback and the improvement. Let's not forget this is open source, where ideas thrive and not corporate where ideas die ;) |
|
We're still happy to sponsor this PR if it helps |
|
Rebased and added the @BlackDex suggestion in #3154 (comment) to make the |
|
Truly amazing. Massive thanks to both Timshell and Dani for the work that you guys have put in. I'll contact our pentest partner to update and finalize the quote for the pentest. So happy 🥳 |
|
Looking forward to this pentest. The most awaited thing after this merge 👀 Thanks @Timshel (im running your branch since day 1, amazing work) @dani-garcia |
|
I've got plans for my weekend now. FANTASTIC WORK FROM ALL.
Congratulations!!!!
…On Fri, Aug 8, 2025, 2:33 PM Sander van de Geijn ***@***.***> wrote:
*sandervandegeijn* left a comment (dani-garcia/vaultwarden#3899)
<#3899 (comment)>
Truly amazing. Massive thanks to both Timshell and Dani for the work that
you guys have put in.
I'll contact our pentest partner to update and finalize the quote for the
pentest.
So happy 🥳
—
Reply to this email directly, view it on GitHub
<#3899 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASVVEUDPAPIOTVX5MJMNYQT3MUJUDAVCNFSM6AAAAAA44PS52CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCNRZGM2TMMZTGM>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
|
I literally installed vaultwarden 30 mins ago for the very first time. The moment I logged on, I looked for OpenID integration with Zitadel & I found this PR merged. Wow!! Just wow. |
|
Congratulations and thank you !!! |
|
This is a breakthrough moment for the project. Huge congratulations to the contributors and heartfelt thanks for your dedication🙏 |
|
I just want to shout out how much I appreciate the team behind this PR. I can see how much effort and care was put into this feature, and I'm looking forward to pulling the latest version of the official vaultwarden image with this new OIDC feature. Great job, and thanks again for your hard work. |
|
@Timshel what about some features that we discussed back in the days, that will not be part of this PR, like https://github.com/Timshel/vaultwarden#role-mapping? From now on, we should stick and open issue/pr/fr about sso in forks or rejoin also that part here? Just a quick note: SSO feature wasn't working in the Bitwarden desktop app. I tried it about two weeks ago, and it's working there now, too. |
SSO in the Desktop app is Not working when using chrome. I dont know whether this is a general Bitwarden issue or linked to specific issue with this work. |
|
By desktop client i mean https://bitwarden.com/download/#downloads-desktop not browser extensions. |
@rizlas |
Probably not something this project can fix. |
@BlackDex |
@gjuuz does this mean that you have not tested with an official setup/server ? |
No I mean I dont know if this issue also exists when using Bitwarden officially with enterprise functions included. I cannot test this because I don't have a Bitwarden subscription. |
|
@Timshel |
@Timshel |
|
Is it possible to have a nested structure for roles? Comparing this to Open WebUI:
|
@Timshel @BlackDex BR |
|
Features mentioned here were not part of this PR, and the equivalent of the |
|
@TheDarkula not sure what the env variable are supposed to do, but if you want role mapping I already opened #6158 to add access to the admin console depending on role and will open one for Organization and groups sync later on. |
|
@Timshel It seems like this has something to do with the url length of the sso callback. Its opening the bitwarden app if i cut the link down to 2046 limit. there is also a chromium issue opened about this: |
|
@gjuuz this would explain things since I wrap the |
|
@Timshel |
This is based on previous PR (#2787, #2449 and #3154) with work done by @pinpox, @m4w0lf, @Sheap, @bmunro-peralex, @tribut and others I probably missed sorry.
This PR add support for OpenId Connect to handle authentication to an external SSO.
This introduce another way to control who can use the vault without having to use invitation or an LDAP.
A master password is still required and not controlled by the SSO (depending on your point of view this might be a feature ;).
Bitwarden key connector is not supported and due to the license it's highly unlikely that it will ever be:
Usage
This should be agnostic to the SSO used as long as it supports client secret authentication and expose an OpenID Connect Discovery endpoint. (I'm testing it with Keycloak at the moment, a demo test stack is available README.md)
Added some documentation at the root of the project SSO.md that could be later moved to the wiki.
I made some additional modification in my main branch to allow for easier testing (modified Docker image to use prebuilt patched front-end).
On front-end modification, I made patched versions available at Timshel/oidc_web_builds. Two versions are available :
button); all change needs to be compatible with the non-sso version.#ssoas the default redirect url.Issues
As mentioned in the previous PR one of the main issue is the inability for the organization invitation to work with the SSO redirection. To fix it a patch to the front-end is needed.
Please open issues in Timshel/vaultwarden in order to keep the discussion here focused on merging this work.
Of course if you believe your issue is important mention this PR so a reference will be visible.
But please try to keep commenting in this PR to a minimum to keep it legible, the previous one has over 200 comments ...