15five / django-scim2

A SCIM 2.0 Service Provider Implementation (for Django)
http://django-scim2.readthedocs.io/
Other
76 stars 27 forks source link

Re-creating of users #83

Closed SamSchelfhout closed 2 years ago

SamSchelfhout commented 2 years ago

I was wondering if there is a way to handle re-creation of users. When a user gets created, removed (set to inactive), and created again, django will throw the exception that the user already exists. I`m not sure what is the safest way to implement that.

Also, is there a way to limit which user (type) can execute the scim api calls?

And thanks for the library, it saves me tons of work!

logston commented 2 years ago

Hey @SamSchelfhout, the pattern that I often see used is, like you said, to soft delete a user (mark them as inactive) and then unmark them when they are recreated. The SCIM Adapters are designed to be overridden if you need custom behavior; for example during POSTs or DELETEs.

Also, is there a way to limit which user (type) can execute the scim api calls?

This could be done in the same calls as mentioned above. But there's also a PR up that would allow customizable authn/z operations. Extra limitations could be added in the customized auth module.

Let me know if that does not answer your questions.

Thanks for the positive vibes 👍 .

SamSchelfhout commented 2 years ago

Thanks @logston, I got it to work.

I had already implemented my own version of the SCIMAuthCheckMiddleware and the process_request function. I`ll change my code once the pull request is merged and available.

Thanks!