@Praveen AZ , If I understand the ask correct, that part that works for you is where you are doing the Client Credentials Flow of OAuth2.0, where the application goes ahead to AAD and gets an Access Token and then submits that token to the API as bearer.
In case you would want to an User inplace of the user, you need to go ahead and use the "Authorization Code Grant Flow of OAuth2.0"
You can read more about this flow here: https://zcusa.951200.xyz/en-us/azure/active-directory/develop/v1-protocols-oauth-code
I would also suggest you to got through the following link which is about OpenIDConnect: link text
OpenIDConnect is an implementation of the Authorization Code Grant Flow
You can also check the following Github sample for Dot Net Core using Authorization Code Grant Flow: link text
Hope this helps. Do let me know if there are any more queries around this so that we can help you further.
---------------------------------------------------------------------------------------------------------------------------------------
Please take a moment to "Mark as Answer" and/or "Vote as Helpful" wherever applicable. Thanks!