We are developing our service using BrainCloud's S2S capabilities.
The client-side application does not include the BrainCloud SDK.
This is because we already have our own authentication system.
When creating users via S2S, we use the "External Auth Create" method and subsequently handle operations based on the profileId.
Therefore, to maintain a structure where existing user information is updated through the client's login process, the server must directly call the client authentication dispatcher API.
In the S2S setup, there is an issue where authentication calls can only be used to issue sessions via the s2sdispatcher. Consequently, the server is manually invoking authentication using the client-side API.
I consider this flow to be abnormal.
After all, even though the integration is S2S-based, the client login API still needs to be called once.
However, the issue is that without calling the client authentication, there is no way within the S2S setup to update the last login time and certain other information you mentioned.
I believe this is a common issue that can arise when adopting and using Brain Cloud within an existing system, much like in our case.
In summary, the user has created an external account in BrainCloud via the server using sysCreateUserExternalAuth.
We issue a token to the user based on our internal authentication system, signing it using the BrainCloudProfileId.
Consequently, authentication via the BrainCloud client is no longer required.
However, without client-side authentication, there is no mechanism to update information.
We need to find a solution to address this gap.