Skip to main content

Synology authentication provider for Home Assistant

Project description

Authentication provider using Synology DSM users for Home Assistant

PyPI GitHub branch checks state Codecov Maintenance GitHub

The Synology authentication provider lets you authenticate using the users in your Synology DSM. Anyone with a user account on your Synology NAS will be able to login.

The provider supports 2-factor authentication, according to what is configured in DSM. When logging in, there will be a field to enter the 2FA code. The field is optional, but it should be used if your account in DSM requires 2FA. Otherwise, it can be left empty.

The use of 2FA within this provider is independent of the 2FA configuration in Home Assistant. If you enable 2FA in Home Assistant, and it is also enabled in Synology, you will have to enter 2 2FA codes.

The provider requires DSM 7.0 or newer.

Installation

Home Assistant Container

Use this package's container instead of the Home Assistant one.

ghcr.io/sdebruyn/hass-auth-synology:latest

Home Assistant Core

The installation will have to be redone everytime you update Home Assistant.

  1. Make sure the Home Assistant virtualenv is activated: source bin/activate
  2. Install this package: pip3 install hass-auth-synology
  3. Run the installation command: hass-auth-synology install

Home Assistant Supervised

The installation will have to be redone everytime you update Home Assistant.

  1. Search for the “SSH & Web Terminal” add-on in the add-on store and install it.
  2. Configure the username and password/authorized_keys options.
  3. Start the “SSH & Web Terminal” add-on
  4. Run the following code through the web terminal:
    pip3 install hass-auth-synology
    hass-auth-synology install
    
  5. You can now disable and remove the “SSH & Web Terminal” add-on again.

Configuration

Add the following to your Home Assistant configuration:

homeassistant:
  auth_providers:
    - type: synology
      host: nas.local
      port: 443
      secure: true
      verify_cert: true
  • host: IP address or hostname of your NAS.
  • port: Port on which DSM is available. Make sure to use one corresponding to HTTP or HTTPS as configured with secure .
  • secure (optional): Enable this to use HTTPS instead of HTTP. (default: false)
  • verify_cert (optional): Enable this to verify the certificate when using HTTPS (default: false). Make sure to disable this when using self-signed certificates or an IP address instead of a hostname. The setting is ignored when secure is false.

Troubleshooting

If any errors occur, make sure to check your Home Assistant logs. If the connection succeeds, but authentication fails, Synology DSM will output an error code. The meaning of the error code can be found in the Synology DSM Login API documentation.

Feel free to open an issue on GitHub if you encounter any issues.

License & attribution

Apache v2.0

Test utilities under tests are coming from Home Assistant Core.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hass-auth-synology-0.4.28.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

hass_auth_synology-0.4.28-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file hass-auth-synology-0.4.28.tar.gz.

File metadata

  • Download URL: hass-auth-synology-0.4.28.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.13 Linux/5.15.0-1014-azure

File hashes

Hashes for hass-auth-synology-0.4.28.tar.gz
Algorithm Hash digest
SHA256 ec61696fac4443753ce6f92da29a4423793daf00c7059d6724c83051e306e38d
MD5 9e47bbf10b3c06956fc26e0c3dbc74d6
BLAKE2b-256 15652dffdaae2a0f180ae96e2478aa7c7275cf903759b6f0a21ee57d6833721e

See more details on using hashes here.

File details

Details for the file hass_auth_synology-0.4.28-py3-none-any.whl.

File metadata

File hashes

Hashes for hass_auth_synology-0.4.28-py3-none-any.whl
Algorithm Hash digest
SHA256 62d8ca32a38a8196608569413bde71db590c6d91dd9aa6c01e8755f852574b02
MD5 f0a42a7beea4dd38c165e5f301b5cf61
BLAKE2b-256 c3c70b810b599e36c289eb05a853c690988068365729df2cf382bba1abe50312

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page