authelia/docs/content/integration/openid-connect/freshrss/index.md

3.7 KiB

title description summary date draft images weight toc support seo
freshrss Integrating Freshrss with the Authelia OpenID Connect 1.0 Provider. 2024-03-05T21:58:32+11:00 false
620 true
level versions integration
community true true
title description canonical noindex
false

Tested Versions

{{% oidc-common %}}

Assumptions

This example makes the following assumptions:

  • Application Root URL: https://freshrss.{{< sitevar name="domain" nojs="example.com" >}}/
  • Authelia Root URL: https://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/
  • Client ID: freshrss
  • Client Secret: insecure_secret
  • Port: '443'
    • This is the port FreshRSS is served over (usually 80 for http and 443 for https) NOT the port of the container.

Some of the values presented in this guide can automatically be replaced with documentation variables.

{{< sitevar-preferences >}}

Special Notes

  1. The FreshRSS implementation seems to always include the port in the requested redirect_uri. As Authelia strictly conforms to the specifications this means the client registration MUST include the port for the requested redirect_uri to match.

Configuration

Authelia

The following YAML configuration is an example Authelia client configuration for use with FreshRSS which will operate with the application example:

identity_providers:
  oidc:
    ## The other portions of the mandatory OpenID Connect 1.0 configuration go here.
    ## See: https://www.authelia.com/c/oidc
    clients:
      - client_id: 'freshrss'
        client_name: 'freshrss'
        client_secret: '$pbkdf2-sha512$310000$c8p78n7pUMln0jzvd4aK4Q$JNRBzwAo0ek5qKn50cFzzvE9RXV88h1wJn5KGiHrD0YKtZaR/nCb2CJPOsKaPK0hjf.9yHxzQGZziziccp6Yng'  # The digest of 'insecure_secret'.
        public: false
        authorization_policy: 'two_factor'
        redirect_uris:
          - 'https://freshrss.{{< sitevar name="domain" nojs="example.com" >}}:443/i/oidc/'
        scopes:
          - 'openid'
          - 'groups'
          - 'email'
          - 'profile'
        userinfo_signed_response_alg: 'none'
        token_endpoint_auth_method: 'client_secret_basic'

Application

  1. To configure FreshRSS to utilize Authelia as an OpenID Connect 1.0 Provider, specify the below environment variables.
  2. Open the newly created FreshRSS instance.
  3. During initial config, select "HTTP" during the user creation
environment:
  OIDC_ENABLED: 1
  OIDC_PROVIDER_METADATA_URL: https://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/.well-known/openid-configuration
  OIDC_CLIENT_ID: freshrss
  OIDC_CLIENT_SECRET: insecure_secret
  OIDC_CLIENT_CRYPTO_KEY: XXXXXXXXXX
  OIDC_REMOTE_USER_CLAIM: preferred_username
  OIDC_SCOPES: openid groups email profile
  OIDC_X_FORWARDED_HEADERS: X-Forwarded-Host X-Forwarded-Port X-Forwarded-Proto

See Also