* Update projects to .NET 7
* Fix nullability errors
* Fix up pipelines to run 7.0
* Update langversion to preview
* Revert "Fix up pipelines to run 7.0"
This reverts commit d0fa8d01b8126a4eaa59832a3814a567705419ae.
* Fix up pipelines again, this time without indentation changes
* Include preview versions
* Versions not Version
* Fix ModelTypeTests
* Fix MemberPasswordHasherTests
Microsoft wants to use SHA512 instead of SHA256, so our old hashes will return SuccessRehashNeeded now
* Use dotnet cli instead of nuget restore
* Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
* Update dependencies
* Fix nullability issues
* Fix unit test
* Fix nullability in ChangingPasswordModel
OldPassword can be null, if we're changing the password with password reset enabled. Additionally, we might as well use the new required keyword instead of supressing null.
* Use required keyword instead of supressing null
* Fix up pipelines again
* fix up spelling-error
* Use dotnet cli instead of nuget restore
* Fix up another NuGet command
* Use dotnet version 7 before building
* Include preview versions
* Remove condition
* Use dotnet 7 before running powershell script
* Update templates to .net 7
* Download version 7 before running linux container
* Move use dotnet 7 even earlier in E2E process
* Remove dotnet 7
* Reintroduce .NET 7 task
* Update linux docker container and remove dotnet 7 from yml
* Fix up dockerfile with ARG
* Fix up docker file with nightly builds of dotnet 7
* Reintroduce dotnet 7 so windows can use it
* Use aspnet 7 in docker
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* 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>
* starts cleaning up old test project, removing ones we'll never convert, moves new test to where it should be.
* Makes ContentNodeKit immutable properties, moves first nucache tests over
* Gets the Nucache unit tests working and refactors a bit to use builder pattern for models.
* Migrates first xml based cache test to use nucache.
* Migrates a bunch more
* Migrates remaining tests for PublishedContentTests
* Moves PublishedRouterTests
* Moves PublishedContentExtensionTests
* Moves more tests.
* committing wip
* committing wip
* Gets PublishedContentLanguageVariantTests converted and working.
* Fixes DataTable ext method and moves PublishedContentDataTableTests
* Moves PublishedMediaTests
* wip - moving EntityXmlSerializerTests
* Moves more tests
* moves more tests
* moves more tests
* Move another test
* Moves more tests
* Fix test
* move another test
* Moves more tests
* Moves more tests
* Moves more tests
* wip before merge
* More tests
* More tests
* More tests
* More tests
* More tests
* More tests
* Cleanup and moving classes.
* Remove unused code
* Fixed failing tests, due to new null checks, that did not exist in v8
* Avoid breaking changes
* Unbreak more things, even that it the old solution was crazy..
* Fixed bug where ordering of stream readings was changed..
* cleanup
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Rename Umbraco.Core namespace to Umbraco.Cms.Core
* Move extension methods in core project to Umbraco.Extensions
* Move extension methods in core project to Umbraco.Extensions
* Rename Umbraco.Examine namespace to Umbraco.Cms.Examine
* Move examine extensions to Umbraco.Extensions namespace
* Reflect changed namespaces in Builder and fix unit tests
* Adjust namespace in Umbraco.ModelsBuilder.Embedded
* Adjust namespace in Umbraco.Persistence.SqlCe
* Adjust namespace in Umbraco.PublishedCache.NuCache
* Align namespaces in Umbraco.Web.BackOffice
* Align namespaces in Umbraco.Web.Common
* Ensure that SqlCeSupport is still enabled after changing the namespace
* Align namespaces in Umbraco.Web.Website
* Align namespaces in Umbraco.Web.UI.NetCore
* Align namespaces in Umbraco.Tests.Common
* Align namespaces in Umbraco.Tests.UnitTests
* Align namespaces in Umbraco.Tests.Integration
* Fix errors caused by changed namespaces
* Fix integration tests
* Undo the Umbraco.Examine.Lucene namespace change
This breaks integration tests on linux, since the namespace wont exists there because it's only used on windows.
* Fix merge
* Fix Merge
* Doesn't make much sense to have Concrete on IRegister, only on IFactory
* Handle FilesTreeController requires IFileSystem of type PhysicalFileSystem
* Handle registration of default MediaFileSystem without using RegisterUniqueFor
* Remove RegisterFor / RegisterUniqueFor from IRegister
* Switch over from LightInject to wrappers around MSDI
* Made mapper dependencies more explicit
* Remove registration for AngularJsonMediaTypeFormatter
It's dependencies aren't registered so container validation fails
* Resolve lifetime issue for EnsureValidSessionId by service locating
else resolve scoped in singleton
* Make registration more explicit for backoffice UserManager
* Make install step registrations more explicit
* Disable service provider validation so site can launch
Maybe this is a problem maybe not, we build about 8000 service providers so maybe everything is fine later...
* Further cleanup of IFactory interface
* Further cleanup of IRegister interface
* Revert "Make registration more explicit for backoffice UserManager"
This reverts commit 7215fe836103c597cd0873c66737a79b91ed4c49.
* Resolve issue where NewInstallStep would fail to reset password for "SuperUser"
Before MSDI, somehow BackOfficeIdentityOptions would be configured with token provider map from IdentityBuilder.AddDefaultTokenProviders.
After switchover those config actions are lost.
Subclass IdentityBuilder to ensure BackOfficeIdentityOptions doesn't miss config setup upstream.
* Initialize current.
* Add todo to turn container validation back on.
* Migrated ScopeFileSystemsTests to integration tests
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
* Resolve issue where MediaFileSystem was skipping ShadowFileSystem
* Attempt to fix ScopeFileSystemsTests on azure devops
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
* Be interesting to know what the actual full path is in pipeline.
* Clarify intent of CreateMediaTest
Doesn't help resolve weird UnauthorizedAccessException but it cuts so much cognitive overhead for the future.
* Use ILoggerfactory rather than mock for the manually constructed file PhysicalFileSystem
* Maybe resolve failing test on azure pipeline.
Co-authored-by: Bjarke Berg <mail@bergmania.dk>