Closed LazaroOnline closed 6 months ago
Hello,
To assist you in migrating from version 2.0.25 to 4.7, we have summarized the different steps:
dotnet ef migrations
script cannot be applied to make changes at the database level. Therefore, the code context.Database.Migrate()
must be commented out. Please ensure that all tables are properly updated:ALTER TABLE [dbo].[SCIMRepresentationAttributeLst] ADD [ComputedValueIndex] NVARCHAR(MAX) NULL;
ALTER TABLE [dbo].[SCIMRepresentationAttributeLst] ADD [IsComputed] BIT NOT NULL DEFAULT 0;
SCIMRepresentationIndirectReference
has been removed and is no longer used. Before deleting it, make sure that all properties: members.value
and groups.value
are present in the table SCIMRepresentationAttributeLst
.DROP TABLE [dbo].[SCIMRepresentationIndirectReference]
MigrateFrom403To404EF
. This function updates the properties IsComputed
and ComputedValueIndex
. These properties are used to enhance performance in searches.Could you try migrating to version 4.0.7? We are considering migrating the entire SimpleIdServers solution to DOTNET8.0 soon, after the release of 4.0.8 :) If you encounter any other issues with the migration or exceptions, please feel free to share them.
Hello, thanks a lot for the migration help! About the 3rd step:
3. Uncomment and executethe code
MigrateFrom403To404EF
. ...
The MigrateFrom403To404EF
function is not part of the "SimpleIdServer.Scim" nuget package, which is the only that I use.
I'm not even using "SimpleIdServer.Scim.SqlServerMigrations" nor "SimpleIdServer.Scim.MySQLMigrations" packages, which I think are more recent.
I have my own "startup" project for SCIM, so I hope it is fine with just copying the method alone into my own project. If the migration was expecting more things from the "SimpleIdServer.Scim.Startup" project other than that, please let me know.
So far I was able to test the "manager.value" issue and it seems to work in the latest v4.0.7 of SCIM, but then I got other 500 errors in other requests like PATCH and PUT /Users and POST /Bulk that I'm trying to find more details on.
After upgrading to v4.0.7 I get other errors like: https://github.com/simpleidserver/SimpleIdServer/issues/720 and https://github.com/simpleidserver/SimpleIdServer/issues/721, but the "manager.value" issue is solved, so it was fixed at some point between v4.0.3 and v4.0.7 already.
Since the error in the title and description seems solved in the latest v4.0.7, and the remaining stuff is something else, I created a separate bug here: https://github.com/simpleidserver/SimpleIdServer/issues/720 So we can close this issue.
In the "SimpleIdServer.Scim" package library, if an enterprise user is created using:
POST /Users
with amanager.value
having the value of another user's SCIM Id (as per the RFC), then SCIM library throws a 500 error with the message:"Sequence contains no matching element"
.Also strangely it allows me to set any string in "manager.value" as far as it is not a userId, not sure if it should be validated or not, but it at least should work when the value is a correct userId.
How to reproduce this bug
Here is an example, first creating the user1 that will be the manager:
POST /Users
Returns 201 Created:
then creating the user2 that will have user1 as manager:
POST /Users
Results in error 500:
"Sequence contains no matching element"
.This was working fine in v2.0.25 where it wasn't throwing exception but returning 201 Created. We discovered this issue while upgrading to v4.0.3. Couldn't test the currently latest v4.0.7 because that version breaks even more things and couldn't get past all the other errors to test this issue.