Deployment of Firely Auth
License
You can use your Firely Server license file, provided that it contains the license token for Firely Auth: http://fire.ly/server/auth.
This token is included in the evaluation license for Firely Server, and in your production license if Firely Auth is included in your order.
Configure the path to the license file in the appsettings, section License.
Executable / binaries
You can request a copy of the binaries from Firely through our contact page
Docker image
A docker image is available on the Docker hub, under firely/auth.
See the instructions on running Firely Server in Docker to learn about adjusting settings and providing the license file. Firely Auth is configured in the same way.
InMemory user store
The InMemory user store is only meant for testing your setup or evaluating Firely Auth. For production use configure the SQL Server user store.
The users for the InMemory user store can be configured in User store
SQL Server user store
Use of the SQL Server user store requires Microsoft SQL Server version 2016 or newer.
Using your favorite database administration tool:
create a new database, e.g. ‘firely_auth_store’
in this database, execute the script
scripts/InitializeSchema.sql, available in the binariescreate a connection string to this database
configure User store
{ "Type": "SqlServer", "SqlServer": { "ConnectionString": "<connectionstring from previous step>" } }
In the connection string you can use a user that is only allowed to read and write from the existing tables, no further DDL is needed.
To add users to the store, you can use the Firely Auth User Management.
Using Firely Auth behind a proxy or load balancer
Firely Auth issues a series of Cookies with the property samesite=none, in particular
the cookie .AspNetCore.Identity.Application from ASP.NET Core Identity.
When using a proxy, the TLS connection might end at the proxy level and hence, the last leg
of the request is over HTTP and not HTTPS. If nothing is done, this means that the Cookies
issues by Firely Auth will not have the propery secure set, and depending on the browser
setup, it might refuses a cookie with but without the secure flag, issuing an error like:
The cookie '".AspNetCore.Identity.Application"' has set 'SameSite=None' and must also set 'Secure'.
In order to avoid this issue, you need to ensure that the
forwarded headers
are properly set by the proxy/load balancer so that the
ForwardedHeaders middleware
can retrieved the values of the public endpoint, allowing other middlewares to return the appropriate values, including
the secure property of the cookies.
