This question already has an answer here:
Described in the title: How do online wallets handle ERC20 tokens behind the scenes?
Or centralised exchanges in that matter. Are they simply communicating with the ethereum blockchain to generate an account and then storing the private key for each user?
Hopefully someone can give an in-depth answer to this question and the technicalities behind.