dapr / dapr/components-contrib

GCP components need a common auth layer

Open
#2,979 3 comments 2 reactions 1 assignee Claimed by @robertojrojas View on GitHub
kind/bug pinned
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:

![image](https://github.com/dapr/components-contrib/assets/43508/5d5e4d07-65e4-48e0-9781-216bc050a3af)

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:

![image](https://github.com/dapr/components-contrib/assets/43508/572204d1-3497-4788-95b6-71075f9f812f)

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.