Table of Contents
Last updated: 6/17/2026

Email Authentication installation


The Email Authentication extension is an authentication component that provides a simple email-based login mechanism.

When configured, users log in by entering their email address. A one-time sign-in code is then sent to their email. If the user exists in ShareAspace, the code can be used for a limited period to authenticate.

Prerequisites


The Email Authentication extension requires:

  • A server running Microsoft Internet Information Services (IIS).
  • Software prerequisites for an Email Authentication server.
Note

An email extension (such as SMTP or SendGrid) must be configured on the ShareAspace collection for email delivery.

Installation steps


Step 1: Run the installer

Run the EmailAuthentication.msi installer to install the ShareAspace Email Authentication extension on the IIS server.

Step 2: Configure IIS

During installation, an IIS Application Pool named "EmailAuthentication" is created.

By default, the Application Pool runs under the built-in LocalSystem account.

Note

If a different account is used, it must have read access to the Email Authentication installation folder.

Step 3: Configure the component

See the Configuration section.

Step 4: Register the extension

See the Extension registration section.

Configuration


Open the appsettings.json file located in the Email Authentication installation folder.

By default: C:\Program Files\Eurostep\ShareAspace\EmailAuthentication\appsettings.json

Example configuration:

{
  "Logging": {
    "LogLevel": {
      "Default": "Debug"
    }
  },
  "AllowedHosts": "*",
  "NovaConfig": {
    "SymmetricKey": "<generated-key>",
    "EnableApiEndpoints": true,
    "BaseAddress": "https://emailauth.example.com/EmailAuthentication",
    "ServerAddress": "https://host.example.com:5001"
  }
}

Configuration properties

  • SymmetricKey – Symmetric key used to secure communication with ShareAspace.
  • BaseAddress – Public address where the Email Authentication service is hosted.
  • ServerAddress – ShareAspace Host or Reverse Proxy endpoint.

SymmetricKey

The SymmetricKey should be generated as described in:

Generate symmetric signing keys

OpenTelemetry configuration


The Email Authentication component supports OpenTelemetry (OTEL) for logging, metrics, and tracing.

Configuration is performed using configuration variables, for example:

{
  "OTEL_SERVICE_NAME": "ShareAspace.EmailAuthentication",
  "OTEL_EXPORTER_OTLP_ENDPOINT": "https://host.example.com:4317",
  "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc"
}

Additional OTEL configuration options are available and are shared across all ShareAspace components.

See: OpenTelemetry logging.

Extension registration


The Email Authentication extension must be registered as a Nova Extension on a bootstrapped ShareAspace collection.

Note

The Email Authentication service must be running during registration, as a manifest exchange will occur.

Example registration script:

Download Add-Extension.ps1

param (
    [Parameter(Mandatory = $true)]
    [string]$NovaHost,
    [Parameter(Mandatory = $true)]
    [string]$PersonalAccessToken,
    [Parameter(Mandatory = $true)]
    [string]$Extension,
    [Parameter(Mandatory = $true)]
    [string]$ExtensionApiKey
)

$uri = "{0}/collection/externalExtension/novaExtension" -f $NovaHost
$pat = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$PersonalAccessToken"))
$headers = @{ "Authorization" = "Basic $pat" }
$body = @{ "hostUri" = $Extension; "apiKey" = $ExtensionApiKey; "tokenLifeTime" = 15 } | ConvertTo-Json

Invoke-WebRequest -Method Post -Uri $uri -Headers $headers -Body $body -ContentType "application/json" -UseBasicParsing

Example usage:

.\Add-Extension.ps1 `
  -NovaHost https://host.example.com:5001 `
  -PersonalAccessToken "<token>" `
  -Extension "https://emailauth.example.com/EmailAuthentication" `
  -ExtensionApiKey "<apikey>"