Skip to content

Task Group: Setup Authentication Frontend #1

@TheTechArch

Description

@TheTechArch

Description

Altinn Authentication Frontend will use the same pattern as Altinn Access Management Frontend. Meaning

  • A SPA (Single Page App) frontend based on React
  • A Backend for Frontend based on .Net
  • Build and deploy pipelines in Github
  • Hosted as an Azure Container App

The following epic describes the different tasks to set up the basic structure for this architecture.

Tasks should be separated into separate issues when started on.

In scope

  • Setup Code
  • Setup tests
  • Setup pipelines for build and deploy
  • Setup infrastructure

Out of scope

  • Create functionality related to new functionality in Altinn Authentication

Additional Information

We need to think about handling scenarios where the user is not authenticated. This component is where we will add authentication for methods not available in ID-porten. Like Self authenticated user. How should we handle routes where we have some URL that require that the user is authenticated and other routes that should work when user is not authenticated?

Architecture Recommendation

TODO

Recommended Project Setup

Set up a new solution called Altinn.Authentication.UI with the following projects

  • Altinn.AuthenticationUI - .Net Core 7 API project
  • Altinn.Authentication.UI.Core - Core models and interfaces
  • Altinn.Authentication.UI.Integration - Clients to call
  • Altinn.Authentication.UI.Mocks - Mock implementation for clients to be used for testing
  • Altinn.Authentication.UI.Tests - .Net integration test of BFF

Where relevant, we should reuse integration code and API from Altinn.AccessManagment.UI

Database

Security

Infrastructure

### Authentication Frontend
- [ ] #5
### Authentication BFF
- [ ] #8
- [ ] #9
### Azure Infrastructure
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/113
- [x] Define infrastructure setup for hosting the BFF with frontend
- [x] Domain certificate for the application
- [x] Create Platform certificate for integration with platofrm components
### CI/CD
- [x] Action for frontend build. See Access Management frontend
- [x] Add first Cypress component tests to CI/
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/114
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/117
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/119
- [x] Add sonar cloud linting
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/116
- [ ] https://github.com/Altinn/altinn-authentication-frontend/issues/118
- [x] Setup Docker file
### Test Automation
- [x] Setup basic test to test Hello World View: an initial goal is a Cypress end-to-end test
- [ ] Implement K6 Tests for authentication bff application

Metadata

Metadata

Assignees

No one assigned

    Labels

    status/draftStatus: When you create an issue before you have enough info to properly describe the issue.

    Type

    No type

    Projects

    Status

    ✅✅Closed

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions