Short answer - no. This would be in conflict with OpenID Connect specification. As described in the Authorization request scope
is required parameter. With some additional explicitly listed values. The OAuth RFC is even more vague when it comes to defining the scope
in the authorization request.
One thing worth noting is that you can, anyway only request scopes belonging to single resources in one request. That is in addition to the OIDC standard scopes. So you can only request scopes for one API (i.e. "https://my.api/api/read"
) but not for more than one ("https://my.api/api/read https://my.other.api2/api/read"
).
Bottom-line - no, you have to explicitly call out all the scopes that you require, and there is no way to ask the end-user "give me access to everything you have access to"..
Oh, and something more, when you configure your applications in a B2C tenant, you define the required scopes at the application level. For example:

Now all the users who sign-in to the SmartCollabClients
application will be granted access to the 3 scopes defined and publish by the SmartCollabApi
application.