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: add Frappe #10797

Merged
merged 6 commits into from
Aug 12, 2024
Merged
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions website/integrations/services/frappe/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Frappe Helpdesk
---

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

:::note
These instructions apply to all projects in the Frappe Family.
:::

## What is Frappe Helpdesk

> Frappe Helpdesk is an open source ticketing tool based on Frappe Framework.
>
> -- https://frappe.io/helpdesk

## Preparation

The following placeholders will be used:

- `frappe.company` is the FQDN of the Frappe install.
- `authentik.company` is the FQDN of the authentik install.
- `provider` is the name for the social login provider in Frappe.

## authentik configuration

1. Log in to authentik as an admin, and go to the Admin interface,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
1. Log in to authentik as an admin, and go to the Admin interface,
1. Log in to authentik as an admin, and go to the Admin interface.

2. Create a new OAuth2/OpenID Provider under **Applications** -> **Providers** using the following settings:

- **Name**: Frappe
- **Client type**: Confidential
- **Client ID**: Use the auto-populated ID
- **Client Secret**: Use the auto-populated secret
- **Redirect URIs/Origins (RegEx)**:
- `https://frappe.company/api/method/frappe.integrations.oauth2_logins.custom/provider`
- **Scopes**: `email`, `openid`, `profile`
- **Subject mode**: `Based on the Users's username`
- **Include claims in id_token**: `True`
- Leave everything else as default

Take note of **Client ID** and **Client Secret** as you will need them later.

3. Create a new Application under **Applications** > **Applications**, pick a name and a slug, and assign the provider that you have just created.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
3. Create a new Application under **Applications** > **Applications**, pick a name and a slug, and assign the provider that you have just created.
3. Create a new application under **Applications** -> **Applications**, pick a name and a slug, and assign the provider that you have just created.


## Frappe configuration

1. From the Frappe main menu, navigate to **Integrations**, then to **Social Login Key**.

Add a new Social login Key using the black button on top right.
![](./frappe1.png)

2. Enter the following settings:

In Client Credentials section:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In Client Credentials section:
In the **Client Credentials** section:

- Enable Social Login: Turn the checkmark to the _on_ position.
- Client ID: _client-id-from-authentik_
- Client Secret: _client-secret-from-authentik_

In Configuration section:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In Configuration section:
In the **Configuration** section:

- Sign ups: Allow

![](./frappe2.png)

In Identity Details section:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In Identity Details section:
In the **Identity Details** section:

- Base URL: `https://authentik.company/`
- In Client URLs section:
- Authorize URL: `/application/o/authorize/`
- Access Token URL: `/application/o/token/`
- Redirect URL: `/api/method/frappe.integrations.oauth2_logins.custom/provider/`
- API Endpoint: `/application/o/userinfo/`

![](./frappe3.png)

In Client Information:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In Client Information:
In the **Client Information** section:

- Auth URL Data: `{"response_type": "code", "scope": "email profile openid"}`

![](./frappe4.png) 3. Press the black **Save** button on the top right.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
![](./frappe4.png) 3. Press the black **Save** button on the top right.
![](./frappe4.png)
3. Click **Save** on the top right.


## Verification

1. Go to `https://frappe.company` from Incognito mode.
2. Press **Login with provider** on the login screen.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
2. Press **Login with provider** on the login screen.
2. Click **Login with provider** on the login screen.

3. Authorize with authentik.
4. You will be redirected to home screen of Frappe application.
1 change: 1 addition & 0 deletions website/sidebarsIntegrations.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ module.exports = {
label: "Miscellaneous",
items: [
"services/engomo/index",
"services/frappe/index",
"services/freshrss/index",
"services/gravitee/index",
"services/home-assistant/index",
Expand Down
Loading