I am trying to deploy a solution as a managed application through ARM Template. For the deployment to work, I need the Client Id and Client Secret of a registered Application along with the Tenant Id.
In my previous scope, I was assuming that the user would have an existing App Registered but now I want to Automate the App registration process for the user and be able to register an application having O365 API Permissions in user's tenant.
Below is the approach I were following earlier.
So unlike above approach, I am now trying to create either a Web Application or a Function Application which would authenticate the User and register the Application for them.
No, it's impossible.
ARM Template is used to create Azure resources under Azure subscription. But App Registration is the resource of Azure AD module. They are two different areas.
A similar discussion here for your reference.
You can use Azure AD Powershell to create the Azure AD app and create the client secret by using New-AzureADApplication and New-AzureADApplicationPasswordCredential.