authentik/website/integrations/services/frappe/index.md

90 lines
2.9 KiB
Markdown

---
title: Integrate with Frappe Helpdesk
sidebar_label: Frappe Helpdesk
---
# 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.
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.
## 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 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 the **Configuration** section:
- Sign ups: Allow
![](./frappe2.png)
- 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 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.
## Verification
1. Go to `https://frappe.company` from Incognito mode.
2. Click **Login with provider** on the login screen.
3. Authorize with authentik.
4. You will be redirected to home screen of Frappe application.