Support for OAuth in Baserow

I am interested in deploying Baserow for use within an open-source project so that community members can have access to a no-code solution for simple applications. Since we already have our own authentication system, I would like to be able to implement external authentication through OAuth. I see that there isn’t such a plugin for Baserow specifically, but Baserow is built on Django, and there are OAuth libraries for Django. Do you have any particular recommendations for using a Django OAuth framework within Baserow?

4 Likes

Hi @serverless, welcome to the Baserow community. My apologies for the late response. SSO becomes available as enterprise feature after the release of 1.13. If you want to use Baserow within your open source project, it’s probably not possible to purchase an enterprise license for every user.

Luckily, it’s indeed possible extend Baserow. We’ve never tried it, but you should be able to implement external authentication by configuring Django. We’re using https://www.django-rest-framework.org in combination with https://github.com/Styria-Digital/django-rest-framework-jwt. I’m not sure what exact steps you need to take, but it might help searching for something that’s compatible with it. It might make sense to look for a Django app that’s compatible with that as well. Maybe you can just swap the DEFAULT_AUTHENTICATION_CLASSES with Authentication - Django REST framework in the Django settings. Although that would probably require some changes in the web-frontend as well.

Would love to learn more about the result if you can make it work.

1 Like

Will it be available natively on the Advanced plan, or will I need to hire a developer to set it up?

Hey @bastien, OAuth SSO is currently only available in the self-hosted enterprise plan because it changes the way of authenticating in the entire instance. We have plans of supporting it for the hosted version in advanced per well, but it requires us changing it so that it also works on workspace level. This is not yet implemented.

If you’re using enterprise self-hosted, then you don’t need to have a developer to setup OAuth with the supported providers Single Sign On (SSO) overview.

1 Like

Right. I’m not sure I fully understand, but my idea is to build the user area of my site on Baserow with an application.

As I’m already using an authentication provider (Outseta in this case, which is already compatible with Oauth), I’d like to allow users of my site to log in as usual but land on a Baserow application and, using their login details, upload their personal data relating to the service I’m selling them.

Does my idea make sense? Will it be possible with the arrival of OAuth SSO on the Cloud version of Baserow? If so, what’s the plan?

Just to make sure we’re on the same page, you’re planning on using the Baserow application builder for this application, right? If so, then the authentication there doesn’t support SSO yet, but this will be implemented in Q1 2025, possibly even earlier.

1 Like

Yes, exactly. In fact, the public pages of my site will be built on Webstudio, but I want to build the private area on Baserow. It will be easier for me to make the private area scalable in this way, to feed back user data to offer them a useful and effective dashboard.

I use Outseta as my authentication provider, which has integration with OAuth. I don’t see any barriers to my idea, but even so, I’m not sure it will work, hence my question.

But if SSO is coming soon, I’ll have a chance to try it out. Note that I need to insert javascript to make the integration with Outseta fully functional.

Will code insertion be available at the same time as SSO or later?

When the application builder will have SSO, then it should be possible. JavaScript and CSS insertion is going to be available around the same time as SSO.

1 Like