Dangl.Identity.Shared 6.4.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Dangl.Identity.Shared --version 6.4.0                
NuGet\Install-Package Dangl.Identity.Shared -Version 6.4.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dangl.Identity.Shared" Version="6.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dangl.Identity.Shared --version 6.4.0                
#r "nuget: Dangl.Identity.Shared, 6.4.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dangl.Identity.Shared as a Cake Addin
#addin nuget:?package=Dangl.Identity.Shared&version=6.4.0

// Install Dangl.Identity.Shared as a Cake Tool
#tool nuget:?package=Dangl.Identity.Shared&version=6.4.0                

Dangl.Identity www.dangl-it.com

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 is compatible.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Dangl.Identity.Shared:

Package Downloads
Dangl.Identity.Client

Dangl.Identity.Client www.dangl-it.com

Dangl.Identity.Client.Models

Dangl.Identity.Client www.dangl-it.com

Dangl.Identity.ApiClient

Dangl.Identity www.dangl-it.com

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.4.3 862 4/26/2024
6.4.2 279 3/24/2024
6.4.1 405 2/20/2024
6.4.0 274 2/7/2024
6.3.0 629 11/22/2023
6.2.5 12,282 10/17/2023
6.2.4 6,676 9/21/2023
6.2.3 242 9/21/2023
6.2.2 165 9/13/2023
6.2.1 203 8/13/2023
6.2.0 191 8/13/2023
6.1.1 343 7/25/2023
6.1.0 5,131 7/18/2023
6.0.0 189 7/14/2023
5.1.4 1,070 4/21/2023
5.1.3 379 3/23/2023
5.1.2 273 3/10/2023
5.1.1 275 3/9/2023
5.1.0 267 3/9/2023
5.0.1 1,544 12/28/2022
5.0.0 510 12/28/2022
4.2.0 3,151 4/23/2022
4.1.0 568 4/5/2022
4.0.0 49,382 9/18/2021
3.3.5 534 8/31/2021
3.3.4 428 4/29/2021
3.3.3 705 4/29/2021
3.3.2 368 4/27/2021
3.3.1 364 4/20/2021
3.3.0 1,190 3/21/2021
3.2.1 419 3/18/2021
3.2.0 442 3/16/2021
3.1.1 1,623 8/16/2020
3.1.0 534 8/15/2020
3.0.2 739 6/21/2020
3.0.1 525 6/19/2020
3.0.0 23,059 6/11/2020

## v6.4.0:
- The frontend was updated to Angular 17
- Refresh tokens are now no longer rotated as long as they're still active, meaning the same refresh token can be used until it expires or is cancelled

## v6.3.0:
- The backend was updated to .NET 8
- Added a new setting `HidePrivacyAndTermsOfServiceInfo`, which when set to `true`, hides the legal notice, privacy and terms of service information in the UI. This is useful e.g. for internal deployments

## v6.2.5:
- When initializing a test server with **Dangl.Identity.TestHost**, more invalid client configurations are now correctly recognized and will raise an error. Additionally, a bug was fixed causing a possible `NullReferenceException` if identity resources were initialized without included user claims
- The `DanglIdentityDockerManager` now has an option to specify additional environment variables on startup
- Fixed `DanglIdentityDockerManager.GetCookieAuthenticatedClientAsync()`. The request now uses correct anti forgery tokens and the `XSRF-TOKEN` is correctly set so the backend handles the requests

## v6.2.4:
- Update of internal dependencies

## v6.2.3:
- The **Dangl.Identity.ApiClient** package is now public

## v6.2.2:
- Admins can now change the usernames of users

## v6.2.1:
- The UI now checks whether the current user is an admin _or_ a developer when performing the access check to the user packages area

## v6.2.0:
- Added a feature so that Package Feeds can now be configured and managed in **Dangl.Identity**. Users are able to self-manage API keys for package feeds.

## v6.1.1:
- The frontend was updated to Angular 16

## v6.1.0:
- Added a feature that allows clients to be configured so that user names in the claims can be transformed, to allow easier integration in systems with more restricted user names

## v6.0.0:
- Migrate the backend to Duende.IdentityServer
- The assemblies for **Dangl.Identity** are no longer strong named. This is no longer a recommendation for .NET projects, and no .NET Framework targets are suppported anymore

## v5.1.4:
- Fixed a bug where activating One Click Scenario trials would not correctly use the currently logged in user's name for the client name

## v5.1.3:
- Fixed a bug with integrated Icons endpoints when running in Docker

## v5.1.2:
- Fixed an UI error in the Teams section

## v5.1.1:
- Some errors in the German translation of the UI were fixed

## v5.1.0:
- The `DanglIdentityDockerManager` now uses the image `dangl.azurecr.io/danglidentity:latest` instead of `dangl.azurecr.io/danglidentity:dev` for integration test features
- The frontend was updated to Angular v15
- Logging switched from Serilog to full Application Insights logging

## v5.0.1:
- Internal dependencies update

## v5.0.0:
- The backend was updated to .NET 7
- Administrators can now change the emails of registered users
- Users are now temporarily logged out after too many failed login attempts
- **Dangl.Identity** now supports two factor authentication via Authenticator App
- Updated `DanglIdentityDockerManager` with a new option to use a custom Docker image
- Added support for _One Click Scenarios_, meaning it's now possible to define a set of services and related information which users can activate via one click. For example, to activate the 30 day trial of AVACloud and create a client with the proper configuration, instead of having to do all the manual steps, there's now a single-click action. Those scenarios are completely user configurable for users with the `Administrator` role

## v4.2.0:
- The backend was updated to .NET 6

## v4.1.0:
- `DanglIdentityDockerManager` was now updated to ensure no _ApplicationInsights_ telemetry is ever sent, as to prevent accidental logging to production when running in test environments in dependent projects
- The frontend was updated to Angular v13
- All frontend tests now run in the CI pipeline

## v4.0.0:
- The backend was updated to .NET 5
- The frontend was updated to Angular v12
- The **Dangl.Identity.TestHost** package was completely redesigned. It no longer supports an In-Memory SQLite database but now works directly on SQL Server, e.g. via Docker hosted SQL Servers for integration test scenarios
- The `DanglIdentityDockerManager` is a new class that allows to easily interact with **Dangl.Identity** in a Docker container for integration test scenarios
- The **Dangl.Identity.TestHost** does no longer support a `fallbackUri`, to make integration tests easier
- The **Dangl.Identity.TestHost** package is no longer strong named, since it is used only in testing scenarios and some of its dependencies are not strong named themselves

## v3.3.5:
- Clients can now be configured to ignore ports when checking the validity of redirect urls. This can only be configured by users in the `Administrator` role

## v3.3.1:
- Added a self-contained installer for OnPremises installations on Windows

## v3.3.0:
- Admins are now able to manually create new users, optionally also with a welcome email
- Admins are now able to manually set the password for a specific user

## v3.2.0:
- Multiple developers can now be assigned to a single client
- Small UI improvements to solve some UX issues that were observed with customers

## v3.1.0:
- IdentityServer4 was updated to version 4
- Clients can now be configured to require PKCE

## v3.0.3:
- The frontend was updated to Angular v10
- Response compression is now enabled for dynamic results in Kestrel
- When saving events for users and teams, enum values in the data field are now serialized as strings instead of integers
- Fixed an issue where team claims with the same type and value could not be set for different teams
- The `GetTeamClaimsForUserAsync` and `GetClaimsForUserAsync` endpoints on the `UserClaimsController` are now also accessible for clients with the `authentication_connector` scope

## v3.0.2:
- Added a new endpoint to get the ids of all deleted users. This is useful for ensuring downstream services can delete locally cached user data upon user deletion

## v3.0.1:
- Internal refactoring

## v3.0.0:
- Update to ASP.NET Core 3.1
- Update frontend to Angular v9.1
- The **Dangl.Identity** package is no longer built. Instead, the **Dangl.Identity.Core** packages is now available and used by the **Dangl.Identity.TestHost** package for integration testing
- The **Teams** feature was introduced to manage groups of users together
- Emails are now being sent via Hangfire as background tasks and are no longer blocking requests
- Bugfix where `localhost` and new gTLD domains were not accepted as correct urls when creating clients and services
- Fixed a bug where users could change their emails to the existing value, thus triggering a new email confirmation
- Fixed a bug where multiple `EmailConfirmed` events where generated for users when they clicked multiple times on the confirmation link
- Clients that were created by a developer user now have a navigation link to the owner's profile
- Users that own clients now have a list of the owned clients with links in their admin profile page
- The automatic E2E tests have been updated to completely run in a Docker environment to ensure fixed versions of Chrome are used
- The admin section now shows if an user's email is confirmed. If not, admins may manually mark it as confirmed.
- JWT tokens no longer contain the `<host>/resources` entry for the `aud` field. This has been a deprecated remnant of an older version that was not used in practice. The `aud` field will now only contain those audiences that were requested by scopes in the token creation process
- **Dangl.Identity.TestHost** does no longer persist the signing key to a file on disk, instead it will be cached in memory. Data persistence is not a feature of the test host, as it should only be used for testing scenarios
- When setting a language in the frontend, a claim dor the user of type `preferred_language` is generated
- Fixed an issue where JWT authenticated users could login with application cookie
- The property `UpdateAccessTokenClaimsOnRefresh` was introduced on clients to control whether or not token refresh requests should update the user claims on JWT tokens. This defaults to true for new clients
- Users who had their access revoked are now tracked in an internal cache to speed up lookups when checking if a request should be permitted or not
- Refresh tokens for anonymized users can now no longer be turned into access tokens
- Added the `AppSettings.AbsoluteApplicationBaseUrl` configuration value to ensure the base url of **Dangl.Identity** is known independently of requests. Previously, when generating links for emails, the host of the current Http request was used. This might cause issues where the application is accessed via a hostname that is not routing to the application from the recipients location, e.g. from _localhost_
- _Application Insights_ can now be disabled by setting `DANGL_IDENTITY_DISABLE_APP_INSIGHTS=true` as environment variable, e.g. when doing E2E tests
- The _Identity Token Lifetime_ of Clients can no be configured

## v2.3.1:
- The **Dangl.Identity.TestHost** packages now gives more detailed error message when the configuration is invalid for the initialization of the test server

## v2.3.0:
- The generated assemblies now have a strong name. This is a breaking change of the binary API and will require recompilation on all systems that consume this package. The strong name of the generated assembly allows compatibility with other, signed tools. Please note that this does not increase security or provide tamper-proof binaries, as the key is available in the source code per [Microsoft guidelines](https://msdn.microsoft.com/en-us/library/wd40t7ad(v=vs.110).aspx)
- The **Dangl.Identity.TestHost** package now supports creation of `IdentityResource`s. They are defined in the `ClientSetupDto`s that are provided at initialization

## v2.2.3:
- Clients generated by administrators now also have a valid configuration when initially created. Previously, they were missing the `redirect_uri` and had the `hybrid` flow activated, thus rendering their configuration invalid.

## v2.2.0:
- The _Developer Services_ are now configured directly in **Dangl.Identity**, there is no longer a requirement for custom plugins to be able to work with developer services and automatic trial sign ups
- End to End (E2E) tests now run automatically for every deployment

## v2.1.3:
- Registering as developer now creates an user event
- Bugfix where the users profile picture history was returning incorrect data
- Persisted grants that are expired will now be automatically cleaned up in the database
- Authorized apps now show the last accessed date instead of the date on which the service was originally connected

## v2.1.2:
- Update UI to recognize `ReturnUrl` with a capital `R` at the beginning after login as query parameter
- Update of dependencies and internal refactoring

## v2.1.0:
- Update to ASP.NET Core 2.2
- Bugfix where newly created clients had an invalid configuration and could therefore not obtain access tokens. The underlying issue was that clients created by developers had the Hybrid flow which required a redirect uri. However, they did not have a redirect uri specified, therefore making the client invalid
- The UI now indicates if a client configuration is valid and in cases where it's not, the actual error is displayed to the user

## v2.0.22:
- The `AccessTokenLifetime` for Jwt tokens is now configurable per client
- All strings are now covered by the translations
- Actions directly initiated by users that result in email notifications should now take the users locacle into account

## v2.0.20:
- Bugfix: Some action descriptors in the Swagger specification were not correctly providing all possible response types

## v2.0.19:
- Add **IdentityModel** as direct depenency on **Dangl.Identity.TestHost** to prevent version conflicts when using it in combination with **Dangl.Identity.Client**

## v2.0.17:
- **Dangl.Identity.TestHost** will now have missing `UserEvents` for test users
- User deletion is now possible by admins and for all users for their own user account
- German localization was adapted to be more complete

## v2.0.14:
- Add authorization policy and feature for downstream client apps to update information about configured OAuth2 clients. See the README for further instructions
- Fix bug in **Dangl.Identity.TestHost**: `https://localhost` was used as Jwt authority instead of the in-memory server address

## v2.0.12:
- Fix Swagger schema being set to only `http` when first hit by Azure App Service warmup via non-secure http route

## v2.0.11:
- Support Http `HEAD` for all actions that support Http `GET`

## v2.0.8:
- **Dangl.Identity.TestHost** now allows to configure user claims for test users

## v2.0.7:
- Prevent locked out users from being able to reset their passwords or perform email confirmations
- Add feature to view authorized apps and revoke access if required
- Configure Application Insights for web frontend

## v2.0.2:
- Fix scopes not being editable

## v2.0.1:
- Major UI redesign
- Added ability to configure connected services
- Many features added, mostly regarding GDPR compliance and extended configuration capabilities
- Updated to ASP.NET Core 2.1.1
- Consent screen for OpenID clients now gives more detailed error messages if request was invalid
- OAuth client description can now be managed via the UI
- User claims are now shown to users and can be set or deleted by administrators in the UI
- Added confirmation dialogs when deleting scopes or user claims
- Update `@angular` frontend library to latest version 6.0.0
- Added UI to be able to configure user claims that should be included when certain scopes are requested
- Updated `AvaCloudTrialProvider` to also grant access to users instead of only to clients
- Refactoring in repositories
- Updated to ASP.NET Core 2.1 RC1
- Renamed package `Dangl.Identity.Models` to `Dangl.Identity.Shared`

## v1.3.0:
- Added support for developer sign-up from individual users
- Developers can create and manage their own clients
- Added support for a `DeveloperServices` section that provides information about Dangl**IT** services

## v1.2.0:
- Added more configuration options so that it can now be used as full OpenId server
- Added UI for OpenId flows, e.g. consent screen and error screen

## v1.1.2:
- Added **Dangl.Identity.ApiClient** with generated client Api

## v1.1.1:
- Added more logging to account controller

## v1.1.0:
- Add **Dangl.Identity.TestHost** package
- Added ability to create client claims

## v1.0.0
- Initial Release