diff --git a/website/integrations/services/hashicorp-vault/index.md b/website/integrations/services/hashicorp-vault/index.md index 1da157f19..e778bbddf 100644 --- a/website/integrations/services/hashicorp-vault/index.md +++ b/website/integrations/services/hashicorp-vault/index.md @@ -25,7 +25,7 @@ The following placeholders will be used: ### Step 1 -In authentik, create an _OAuth2/OpenID Provider_ (under _Resources/Providers_) with these settings: +In authentik, create an _OAuth2/OpenID Provider_ (under _Applications/Providers_) with these settings: :::note Only settings that have been modified from default have been listed. diff --git a/website/integrations/services/netbox/index.md b/website/integrations/services/netbox/index.md new file mode 100644 index 000000000..38af02816 --- /dev/null +++ b/website/integrations/services/netbox/index.md @@ -0,0 +1,223 @@ +--- +title: NetBox +--- + +Support level: Community + +## What is NetBox + +From https://github.com/netbox-community/netbox + +:::note +NetBox is the leading solution for modeling and documenting modern networks. +::: + +## Preparation + +The following placeholders will be used: + +- `netbox.company` is the FQDN of the NetBox install. +- `authentik.company` is the FQDN of the authentik install. + +Create an application in authentik and note the slug you choose, as this will be used later. In the Admin Interface, go to _Applications_ -> _Providers_. Create a _OAuth2/OpenID provider_ with the following parameters: + +- Client Type: `Confidential` +- Redirect URIs: `https://netbox.company/oauth/complete/oidc/` +- Scopes: OpenID, Email and Profile +- Signing Key: Select any available key + +Note the Client ID and Client Secret values. Create an application, using the provider you've created above. + +## NetBox + +:::info +This setup was tested and developed with NetBox Docker. For a non-Docker installation, the Docker part must be disabled and the non-docker part must be used. +::: + +The following Docker env vars are required for the configuration. + +```env +# Enable python-social-auth +REMOTE_AUTH_ENABLED='true' +REMOTE_AUTH_BACKEND='social_core.backends.open_id_connect.OpenIdConnectAuth' + +# python-social-auth config +SOCIAL_AUTH_OIDC_ENDPOINT='https://authentik.company/application/o//' +SOCIAL_AUTH_OIDC_KEY='' +SOCIAL_AUTH_OIDC_SECRET='' +LOGOUT_REDIRECT_URL='https://authentik.company/application/o//end-session/' +``` + +The Netbox configuration needs to be extended, for this you can create a new file in the configuration folder, for example `authentik.py`. + +```py +from os import environ + +############# +# Docker +############# + +# python-social-auth configuration +SOCIAL_AUTH_OIDC_ENDPOINT = environ.get('SOCIAL_AUTH_OIDC_ENDPOINT') +SOCIAL_AUTH_OIDC_KEY = environ.get('SOCIAL_AUTH_OIDC_KEY') +SOCIAL_AUTH_OIDC_SECRET = environ.get('SOCIAL_AUTH_OIDC_SECRET') +LOGOUT_REDIRECT_URL = environ.get('LOGOUT_REDIRECT_URL') + + +############# +# non Docker +############# + +# NetBox settings +#REMOTE_AUTH_ENABLED = True +#REMOTE_AUTH_BACKEND = 'social_core.backends.open_id_connect.OpenIdConnectAuth' + +# python-social-auth configuration +#SOCIAL_AUTH_OIDC_ENDPOINT = 'https://authentik.company/application/o/Providers. Create a SAML provider with the following parameters: +Create an application in authentik and note the slug you choose, as this will be used later. In the Admin Interface, go to _Applications_ -> _Providers_. Create a _SAML provider_ with the following parameters: - ACS URL: `https://nextcloud.company/apps/user_saml/saml/acs` - Issuer: `https://authentik.company` diff --git a/website/integrations/services/node-red/index.md b/website/integrations/services/node-red/index.md index aa6650dbc..7dc02cf96 100644 --- a/website/integrations/services/node-red/index.md +++ b/website/integrations/services/node-red/index.md @@ -27,7 +27,7 @@ The following placeholders will be used: ### Step 1 -In authentik, create an _OAuth2/OpenID Provider_ (under _Resources/Providers_) with these settings: +In authentik, create an _OAuth2/OpenID Provider_ (under _Applications/Providers_) with these settings: :::note Only settings that have been modified from default have been listed. diff --git a/website/sidebarsIntegrations.js b/website/sidebarsIntegrations.js index 97036a808..36a691d04 100644 --- a/website/sidebarsIntegrations.js +++ b/website/sidebarsIntegrations.js @@ -68,6 +68,7 @@ module.exports = { "services/harbor/index", "services/hashicorp-vault/index", "services/minio/index", + "services/netbox/index", "services/opnsense/index", "services/pfsense/index", "services/pgadmin/index",