我使用JSON和authenticate在环境变量GOOGLE_APPLICATION_CREDENTIALS中设置服务帐户.Net文件的路径。
但我想要做的是通过在代码中指定凭证属性来进行身份验证(就像我对AWS及其ID和密钥所做的那样)。
为什么?在我的用例中,我不希望json文件被“暴露”,而是希望在自定义XML配置文件中指定的凭据属性被加密。
我的应用程序将读取配置文件并解密内容( GCS凭证)。
请不要关心它是服务帐户还是用户帐户,如果可能的话,最好使用about设置?
丑陋的解决方案是动态创建JSON文件,让API读取该文件,然后删除该文件。
如果是这样的话,我想尽可能地限制属性的数量,我在一个下载的JSON文件中有以下属性。哪些是强制的/需要的,哪些是臃肿的:
{
"type": "xxx",
"project_id": "xxx",
"private_key_id": "xxx",
"private_key": "xxx",
"client_email": "xxx",
"client_id": "xxx",
"auth_uri": "xxx",
"token_uri": "xxx",
"auth_provider_x509_cert_url": "xxx",
"client_x509_cert_url": "xxx"
}发布于 2019-08-15 01:21:13
要将凭据指定为变量(JSON字符串)而不是文件路径,请执行以下操作:
Google.Apis.Auth.OAuth2.GoogleCredential cred = Google.Apis.Auth.OAuth2.GoogleCredential.FromJson(JSONString);
var storage = Google.Cloud.Storage.V1.StorageClient.Create(cred);https://stackoverflow.com/questions/57488905
复制相似问题