googleapis / google-auth-library-nodejs

🔑 Google Auth Library for Node.js
Apache License 2.0
1.73k stars 381 forks source link

feat!: Normalize `#scopes` args and properties to `string[]` #1676

Open danielbankhead opened 1 year ago

danielbankhead commented 1 year ago

Today, some AuthClients have a scopes property with of string | string[]:

https://github.com/googleapis/google-auth-library-nodejs/blob/4f94ffe474ee41b560813b81e8d621be848d38d0/src/auth/baseexternalclient.ts#L140-L145

And we have to normalize in other places like this with code like this:

https://github.com/googleapis/google-auth-library-nodejs/blob/4f94ffe474ee41b560813b81e8d621be848d38d0/src/auth/computeclient.ts#L51-L55

This is pretty inconsistency throughout the library. Additionally, this change will clarify to customers that may be confused as to if a string-typed scopes property will be parsed into multiple scopes are not.

Implementation Notes: