According to my research :
Azure AD : is for users within your organization.
Azure AD B2C : is for consumers of your enterprise application.
Now my aim is to create applications using Xamarin for all platforms and probably a web app as well for the same app. And I want the login experience for my users to be strong textconsistent across devices and including my web app version of my application.
For example : user should be able to sign up with email or login with social networks as well. And when they register on one device it syncs across devices and on other devices they just have to login. an example is facebook and twitter as they have both web apps and mobile apps.
Question : Azure mobile apps provide authentication with azure AD and other social networks using Azure mobile SDK and I am trying to do the same with complete serverless back-end with azure functions and I have already got answer to that problem here .
What should I use for my application? Azure AD or Azure AD B2C or both?what is recommended for my use case?
Azure AD : is for users within your organization.
Azure AD B2C : is for consumers of your enterprise application
Yes, you're right. However, Azure AD B2C is also based on Azure AD.Before you can create applications or users, or interact with Azure AD at all, you will need an Azure AD B2C tenant and a global administrator account in the tenant.So, Azure AD B2C cannot leave Azure AD.
What should I use for my application? Azure AD or Azure AD B2C or
both?what is recommended for my use case?
According to your request, I recommend you to use both Azure AD and Azure AD B2C.
1.Azure AD B2C enables your application to authenticate by multiple Accounts,such as social accounts(Google,Facebook).This is what you want to do.It makes that you can sign up with email or login with social networks as well.
2.Azure AD B2C can let you choose different development scenarios,including Xamarin. It also support different devices. All of Mobile,Desktop, Web Apps are all can be application development scenarios for Azure AD B2C.
3.Azure AD B2C cannot leave Azure AD.When you want to manager users in Azure AD B2C, you must use Azure AD to manage it. When you are using Azure AD B2C, you would have used Azure AD to authenticate Identity.Also,If you want to take many tasks for convenient,such as to create,read,update user accounts, you can do these by using Azure AD Graph API.
See more details about Azure AD B2C in this document.