Altinn / Altinn/app-lib-dotnet
Replace deprecated package Microsoft.Azure.KeyVault
- Dominant language
- C#
- Stars
- 8
- Forks
- 27
- Avg merge
- 1h 21m
- Merged PRs (30d)
- 7
Description
## Description
Microsoft has released a completely new set of NuGet packages with client implementation for Azure KeyVault. Altinn 3 is currently using latest version of the original client library and should consider switching to the new client libraries.
Several of our projects reference Microsoft.Azure.KeyVault which is now deprecated.
Package should be replaced by alternate package Azure.Security.KeyVault.Secrets.
More information:
https://www.nuget.org/packages/Microsoft.Azure.KeyVault/
## Considerations
Altinn 3 currently has multiple implementations using the client library. We should look into creating a common implementation. Storage might be the only component that access a Key Vault to find a secret outside of the Program class. The question will be if we can register a `KeyVaultClientWrapper` as a service and then use that in the Program class during "startup" to obtain the Instrumentation Key.
Update Microsoft.Extensions.Configuration.AzureKeyVault at the same time.
## Acceptance criteria
- No references to the deprecated package left in the repository.
## Tasks
- [x] Common AccessTokenClient (checked as duplicate: https://github.com/Altinn/altinn-accesstoken/issues/2)
- [x] Common AccessToken (checked as duplicate: https://github.com/Altinn/altinn-accesstoken/issues/2)
- [ ] Common Authentication
- [x] Platform Storage
- [ ] Studio Designer
- [x] Platform Register
- [ ] Upgrade dependent projects e.g. app template, platform authentication++
- [ ] QA
- [ ] Regression tests on all changed components.
- [ ] Automated test is implemented (if relevant)
Contributor guide
Research direction
Search the repository for references to Microsoft.Azure.KeyVault and Microsoft.Extensions.Configuration.AzureKeyVault, then inspect the Platform Storage, Studio Designer, Platform Register, app template, and platform authentication components. Review the existing Key Vault usage and the Program-class startup path before replacing the deprecated packages. Done means no deprecated-package references remain and regression coverage passes for every changed component.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, cloud
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100