Hi @Ben Munro · Thank you for reaching out.
You can certainly register one application and use that as Service App as well as Client App. The only problem I see in that case is, if you don't provide Admin Consent for access_as_user
scope/permission, users will still be able to acquire token with this scope as the Client and Service (API) app are same.
If you register these applications separately, no one can acquire a token with access_as_user
scope if Admin Consent is not granted.
If you use single app, and want to restrict issuance of token to a specific set of users (as anyone can get token with defined scopes) for this app, you can navigate to:
Azure AD > Enterprise Applications > Open the app > Properties > set User assignment required to YES and then assign users by using the Users and groups blade. That way, only the assigned users can acquire token for this app.
-----------------------------------------------------------------------------------------------------------
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.