This is a perennial issue with Oauth2, but it’s way better than what we had to live with before (pretty much just handing the third party your login).
I get exactly why apps ask for the moon when they’re asking for oauth scopes: to reduce friction. They judge (probably rightly) that if they first ask for a minimal set which accounts for 90% of usage and then later have to ask the user for more permissions later when they want to do a 10% task, that some proportion of users will not “convert” / won’t finish granting the extra permission, even if it means they can’t do the task they were trying to do.
So, they ask for the superset of all permissions their app currently needs (and some permissions that are still just planned functionality), and hope (again, probably rightly) that users won’t really care and will just click through. This creates nightmare issues for infosec teams.
Some sites/apps will ask for the kitchen sink omnibus scope buffet, and then if you click the “oh no thank you, cancel” button on that scopes screen, will actually present you with a reduced set of scopes. They do this without explaining what’s happening or why.
Mobile platforms are getting better about allowing very fine-grained access to permissions. At least on ios, apps that want to access your photos can be given access to only a subset of them. You can pick and choose when to provide location data, etc.
I wish there were an Oauth2 proxy service or something, which let you give apps whatever scopes they ask for, but which would then either fail API requests that use scopes that you’re not actually okay with, or else give valid but not 100% true API responses.