Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 1.27 KB

0014-authentication.md

File metadata and controls

25 lines (13 loc) · 1.27 KB

14. Authentication

Date: 2024-09-04

Status

Approved

Context

The Form Platform requires a method of authenticating users. We are inclined to default to Login.gov, a government-wide federated service hosted by TTS, unless circumstances prevent its usage.

When using Login.gov, we need to choose which library and other integration details we will leverage.

Decision

Initially, we will use the Lucia Auth library. Lucia is recommended in the Astro documentation, and its companion library Arctic supports the PKCE method of OpenID Connect authentication supported by Login.gov.

Consequences

Lucia and Arctic will provide us will a solid workable solution, and provides us with a structure we could incrementally replace if the need arises.

Lucia manages sessions, but in the future we may find it preferable to manage them ourselves.

Additionally, Arctic does not support JWT-based auth. We may want to consider node-openid-client, or an alternative, for a simpler approach. This would require our own session management.