There is currently no other alternative for getting a registration token and there is no other way to subscribe to topics for the web client.
You already know this, but you can also mention it. Requesting permissions is mandatory for security purposes (preventing unwanted notifications by the user), and in order to subscribe to the web client in the topic, you first need to get a token (which will not be generated if the user does not grant permission).
source share