dapr / dapr/components-contrib
GCP components need a common auth layer
- Dominant language
- Go
- Stars
- 602
- Forks
- 580
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 6
Description
Currently, GCP components have inconsistent metadata properties, especially for authentication.
For example, this is the [GCP Storage Bucket binding](https://docs.dapr.io/reference/components-reference/supported-bindings/gcpbucket/) (alpha). Note the use of snake_case for the auth properties (which is anti-pattern in Dapr) - non-auth properties use camelCase:

This instead is the GCP Pub/Sub component. Note that all auth properties use camelCase (correctly), and that some properties like "type" are marked as deprecated:

As per @robertojrojas , using `privateKeyId` is an "old" method of authenticating with GCP and users should use "Application Default Credentials" instead.
In order to support all auth methods, and support various names for the metadata properties, we need a "common auth layer" for GCP components, like we have for Azure components (which is used to support all Azure AD auth methods and accepts "legacy" metadata names)
Contributor guide
Assessment
This issue has not been assessed yet.