Hi
This is more of a design question, and I was hoping there would be some sample code?
**1. How should you look up a user in a microservice? **
For example, I want to choose a user from a list
or
I want to check some aspects of a user's details in an app service.
Currently we have a local table with users, which is synchronized through ETOs (e.g. EntityCreatedEto) We then use this local repository for our queries.
I noticed there is a UserLookupService that is used in CMS kit, but I can't seem to get this working in a microservice.
I'm not sure of the best approach.
**2. How should we add users from a microservice? **
For example, in a workflow microservice, the user has entered an email of someone to assign a task,
This user is not in the system yet so we want to invite/create user I'm assuming this is a standard inter-service communication to the identity service?
1 Answer(s)
-
0
1. How should you look up a user in a microservice? For example, I want to choose a user from a list or I want to check some aspects of a user's details in an app service. Currently we have a local table with users, which is synchronized through ETOs (e.g. EntityCreatedEto) We then use this local repository for our queries. I noticed there is a UserLookupService that is used in CMS kit, but I can't seem to get this working in a microservice. I'm not sure of the best approach.
You can use http requests to IdentityService to get the user list (UserLookupService). To do that; add
IdentityService.Application.Contracts
to your microservice application layer (or application.contracts) and addIdentityService.Http.Api.Client
to your microservice http.host layer with RemoteService configuration on appsettings.2. How should we add users from a microservice? For example, in a workflow microservice, the user has entered an email of someone to assign a task, This user is not in the system yet so we want to invite/create user I'm assuming this is a standard inter-service communication to the identity service?
This seems very subtle for async communication. You can publish an event from your microservice and let your custom handler you create on IdentityService handle it. You can inject
IdentityUserManager
(default Microsoft Identity library) and create a new user. Furthermore, you can even publish a new event after successful user creation and let some microservice or a background job send an email to the user informing about it.