Skip to content
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

website/integrations: Pocketbase #12906

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions website/integrations/services/pocketbase/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Integrate with PocketBase
sidebar_label: PocketBase
---

# Integrate With PocketBase

<span class="badge badge--secondary">Support level: Community</span>

## What is PocketBase

> PocketBase is a lightweight backend solution that provides a built-in database, authentication, and file storage.
> It allows developers to quickly set up and manage backend services without complex configurations.
> With its simple API and easy-to-use dashboard, it's perfect for small projects, prototypes, or even full-scale applications.
>
> -- https://pocketbase.io/
>
> This guide explains how to configure PocketBase to use authentik as the OAuth provider for logging in to the Web GUI.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

:::note
If you are using an application that relies on PocketBase as its backend, you can replace the placeholders used here with the application's name.
:::

## Preparation

The following placeholders are used in this guide:

- `pocketbase.company` is the FQDN of the PocketBase installation.
- `authentik.company` is the FQDN of the authentik installation.

:::note
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
:::

## authentik configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to tana: This should be left as-is for now and I'll update format /button names later on.


Start the wizard for adding a new application.

**1. Application:**

- Name: `PocketBase`
- Slug: `pocketbase`

**2. Choose a Provider**

Select `OAuth2/OpenID Provider`

**3. Configure Provider**

Select implicit or explicit authorization flow as desired.

Take note of the Client ID and Client Secret, you'll need to give them to PocketBase later.

- Redirect URIs/Origins (RegEx): `https://_pocketbase.company_/api/oauth2-redirect`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see anything in this redirect URI that would warrant it to be set to "regex" instead of "strict". It's best to set it to "strict" unless absolutely needed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi and thank you for your Review. Maybe it my wrong understanding of the Wiki about contribution but I used all "placeholder variables" in italic Font. I switched between different Write options now through my last PRs and Never know what is wanted and what Not.

Can someone clear this up?

  • bold stuff for things on the SP side that can be found on the gui f.e.
  • itatlic for placeholders

That is what I understood so far. Now it seems to be yet another new formatation here. I get more and more confused.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Fonts & Fonts styling section of our style guide gives an overview of what's expected. What do you mean by "new formatation here"?

Italic is to be used for variables, yes. Bold for stuff found in the GUI, yes. URLs should be in a codeblock and variables in them should be italicized and the easiest way to do that is the suggestion I gave.

Copy link
Contributor Author

@nicedevil007 nicedevil007 Feb 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean this Part of the Guide

Use italic font for variables or placeholders to make it clear they need to be replaced. Choose placeholder names that highlight their purpose, ensuring users understand what to update.


Thank you for making this clear now :) So I can Go oder my last PRs to Match this Styling :) Will take a Bit of time, but I Like have it "the same" on everything

Copy link
Contributor

@dominic-r dominic-r Feb 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also address the original review comment? Thanks

I don't see anything in this redirect URI that would warrant it to be set to "regex" instead of "strict". It's best to set it to "strict" unless absolutely needed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I copy Pasted wrong line and it was Late at Night. Will get to it tomorrow. But I guess you are right :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I always wrote it like the menu entry is in authentik:
image

"Redirect URIs/Origins (RegEx)" is the setting we have to set. But it doesn't mean that we should choose RegEx on the dropdown, so how should I do it now?

- Signing Key: Select any available signing keys.

Leave the rest as default values.

## PocketBase configuration

1. Sign in to PocketBase with a browser of your choice and access the system setting by using this URL https://_pocketbase.company_/\_/#/settings.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

2. Disable **Hide collection create and edit controls** and click **Save changes**.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

3. Open the **users** submenu by clicking the **Collections** icon in the left menu or by accessing this URL: https://_pocketbase.company_/\_/#/collections?collection=pb_users_auth.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

4. Click the gear icon next to **users**, then select the **Options** tab.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

5. Enable **OAuth2** by toggling the corresponding switch.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

6. Click **+ Add provider** and select **OpenID Connect**.
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

7. Enter the following details from the authentik provider:
- Set **Client ID** to _client-id_
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved
- Set **Client secret** to _client-secret_
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved
- Set **Display name** to **authentik**
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved
- Set **Auth URL** to https://_authentik.company_/application/o/authorize/
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved
- Set **Token URL** to https://_authentik.company_/application/o/token/
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved
- Set **User info URL** to https://_authentik.company_/application/o/userinfo/
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

## Test the login
nicedevil007 marked this conversation as resolved.
Show resolved Hide resolved

- Open your web browser and go to: https://_pocketbase.company_/#/login.
- Click **authentik** to log in.
- You should be redirected to authentik (following the login flow you configured). After logging in, authentik will redirect you back to https://_pocketbase.company_.
- If you successfully return to the PocketBase WebGUI, the login is working correctly.
1 change: 1 addition & 0 deletions website/sidebarsIntegrations.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ module.exports = {
label: "Platforms",
items: [
"services/budibase/index",
"services/pocketbase/index",
"services/wordpress/index",
],
},
Expand Down
Loading