* Check form and querystring when validating ufprt
Checks to see if the request has form data before validating the `ufprt` parameter, and if it doesn't assumes it must be on the querystring
* Create GetUfprt extension method
* Use GetUfprt extension
* Update UmbracoRouteValueTransformer to use GetUfrpt()
* Added missing using statement
* Check for StringValues.Empty
GetRouteById and RedirectUrlService expects the culture to be null if it's invariant, however, Cultures in IPublished content uses empty string for invariant culture
* Add SiteIdentifierService
* Use SiteIdentifierService in TelemetryService
* Use SiteIdentifierService when installing
* Remove timeout
* Use TryGetOrCreateSiteIdentifier in TelemetryService
* Add site identifier to dashboard url
* Fix and add tests
* Don't accept empty guid as valid site identifier
* Fix dashboard controller
* Fix site id query parameter
* Use Optionsmonitor onchange
Co-authored-by: nikolajlauridsen <nel@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Resolve various points related to deficiencies in FileSystemMainDomLock
See GH #12049
* Increasing backoff time for retry when deleting lock release signal file
However reducing max tries, really hoping this never actually happens
and if it does, failing to boot ASAP seems reasonable.
* Extract MainDomKey generation to its own class to ease customization.
Also add discriminator config value to GlobalSettings for advanced users.
Prevents a mandatory custom implementation, should be good enough for
the vast majority of use cases.
* Prevent duplicate runs of ScheduledPublishing during slot swap.
* Add filesystem based MainDomLock
* Turn SlidingExpiration off and only renew cookie of not RemainingSeconds request
Also adds the TicketExpiresClaim before validating the the security stamp, otherwise the claim won't be merged and "dissappear", leading to the user being instantly logged out
Also only EnsureValidSessionId if not RemainingSeconds request, otherwise the session will always be valid, since the remaining seconds request renews it.
* Don't ignore SessionIdClaimType and Cookiepath when merging claims
Besides what the comment used to state these claims are only issued when logging in, leading you to be logged out once the claims are merged, furthermore when we check the session ID we verify that you session has not expired.
* Manually specify Issued and Expires when renewing token
If we don't we lose 30 minutes of our ExpireTimeSpan every time the principal refreshes
* Re-add ignored claims
And use MergeAllClaims on refreshing principal instead.
* EnsureValidSessionId before updating IssuedUtc
* Fix comment
* Update src/Umbraco.Web.BackOffice/Security/ConfigureBackOfficeCookieOptions.cs
Co-authored-by: nikolajlauridsen <nel@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Fixed issue with migration from 8, because the external login table is changed in 9.3, but added in 9.0. we need to use the legacy models when running 9.0 migrations
* Support migration from 8.18 (final state)
* Use lowercase lang folder name for packages lang files
Use lowercase lang folder name for packages lang files to be consistent with Umbraco's casing
* Case insensitive `lang` folder lookup
* Comment grammar
* Setup lower case appl_plugin icons folder path
* Update Constants-SystemDirectories.cs
* Check both casings for the AppPluginIcons path
* Fixed spelling mistake + avoid multiple Exists checks
* Add IsCaseSensitiveFileSystem to IHostingEnvironment
* Add IsCaseSensitiveFileSystem to AspNetCoreHostingEnvironment
* Undo last changes
* Undo last changed
* Add FileSystemUtility
* Only perform second iconPath if OS is case sensitive
* Undo changes
* Undo changes
* Remove filesystem utils file
* Added HostingEnvironmentExtensions.cs
* Use IsCaseSensitiveFileSystem extension method
* Use the Umbraco.Extensions namespace
* Simplify IsCaseSensitiveFileSystem
* Better naming
* Use PluginIcons
* Remove unused using statement
* Delete HostingEnvironmentExtensions.cs
* Update IconService.cs
* Comment clarity
* Update src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs
Co-authored-by: Paul Johnson <pmj+github@ologn.co.uk>
Co-authored-by: Paul Johnson <pmj+github@ologn.co.uk>
Co-authored-by: Michael Latouche <michael@crossingpaths.be>
* Store notification z-index in variable
* Only show unordered list if any notifications
* Move notificaion layers to same parent as overlays so layers can be controlled via z-index
* Fix code styling
* Only select ItemIdFieldName and fix exception when variation context is null
* Save hashset instead of making on on each request (indirectly)
Co-authored-by: Bjarke Berg <mail@bergmania.dk>