Integrate with FreshRSS
What is FreshRSS
FreshRSS is a self-hosted RSS feed aggregator.
Preparation
The following placeholders are used in this guide:
freshrss.company
is the FQDN of the FreshRSS installation.authentik.company
is the FQDN of the authentik installation.
This documentation only lists the settings that have been changed from their default values. Please verify your changes carefully to avoid any issues accessing your application.
authentik configuration
To support the integration of FreshRss with authentik, you need to create an application/provider pair in authentik.
Create an application and provider in authentik
- Log in to authentik as an admin, and open the authentik Admin interface.
- Navigate to Applications > Applications and click Create with Provider to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
- Application: provide a descriptive name, an optional group for the type of application, the policy engine mode, and optional UI settings.
- Choose a Provider type: select OAuth2/OpenID Connect as the provider type.
- Configure the Provider: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
- Note the Client ID,Client Secret, and slug values because they will be required later.
- Add two
Strict
redirect URI and set them to https://freshrss.company/i/oidc/ and https://freshrss.company:443/i/oidc/. If FreshRSS is exposed on a port other than443
, update the second redirect URI accordingly. - Select any available signing key.
- Configure Bindings (optional): you can create a binding (policy, group, or user) to manage the listing and access to applications on a user's My applications page.
- Click Submit to save the new application and provider.
FreshRSS configuration
This integration is compatible only with Docker or Kubernetes installations of FreshRSS that use the FreshRSS Docker image on x86_64 systems. Note that the Alpine version of the image is not supported. For more details, see this issue on the FreshRSS GitHub repository.
Before restarting your Docker container, ensure that at least one Admin user in your FreshRSS instance has a username that matches an authentik user.
To enable OIDC login with FreshRSS, update your .env
file to include the following variables:
OIDC_ENABLED=1
OIDC_PROVIDER_METADATA_URL=https://authentik.company/application/o/<your-application-slug>/.well-known/openid-configuration
OIDC_CLIENT_ID=<Your Client ID from authentik<>
OIDC_CLIENT_SECRET=<Your Client Secret from authentik>
OIDC_X_FORWARDED_HEADERS=X-Forwarded-Port X-Forwarded-Proto X-Forwarded-Host
OIDC_SCOPES=openid email profile
Once your container or pod is restarted, attempt to login as a user that exists in both FreshRSS and authentik. Go to Settings -> Authentication and set the authentication method to HTTP.
Resources
Configuration verification
To verify that authentik is correctly set up with FreshRSS, log out of FreshRSS and try logging back in using authentik. You should see a new button on the login page for OIDC authentication.