У меня есть API .NET 7.0, который использует среду GOOGLE_APPLICATION_CREDENTIALS для поиска в Firebase. Используя тот же JSON-аутентификатор, я могу выполнять поиск в Firebase, запустив приложение локально. Однако при публикации приложения в контейнере докеров и выполнении того же поиска я получаю сообщение об ошибке: «В запросе были неверные учетные данные аутентификации. Ожидается токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные аутентификации. См. https://developers.google.com /identity/sign-in/web/devconsole-project." Мне просто нужно знать, связана ли проблема с окружением GOOGLE_APPLICATION_CREDENTIALS в образе докера или с настройками Google Cloud API и служб.
Я пытался создать Oauth 2.0 в своем облачном приложении. как учит веб-сайт https://developers.google.com/identity/ ... le-project, но безуспешно. а также локально работает без проблем
вот dockerfile:
...
ENV GOOGLE_APPLICATION_CREDENTIALS=/app/Credential-7291824fb310.json
ENV PROJECT_ID=XXXXXXXXX
WORKDIR /app
COPY --from=build /app/dist/ /app
COPY ./Credential-7291824fb310.json .
EXPOSE 5002
ENTRYPOINT ["dotnet", "myAPP.API.dll"]
вот трассировка стека
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HN8NVLQG0G1Q", Request id "0HN8NVLQG0G1Q:00000002": An unhandled exception was thrown by the application.
Grpc.Core.RpcException: Status(StatusCode="Unauthenticated", Detail="Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/ ... le-project.")
at Grpc.Net.Client.Internal.HttpContentClientStreamReader`2.MoveNextCore(CancellationToken cancellationToken)
at Google.Api.Gax.Grpc.AsyncResponseStream`1.MoveNextAsync(CancellationToken cancellationToken)
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+MoveNext()
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+MoveNext()
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()
at System.Linq.AsyncEnumerable.g__Core|99_0[TSource](IAsyncEnumerable`1 source, Action`1 action, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs:line 41
at System.Linq.AsyncEnumerable.g__Core|99_0[TSource](IAsyncEnumerable`1 source, Action`1 action, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs:line 41
at Google.Cloud.Firestore.Query.GetSnapshotAsync(ByteString transactionId, CancellationToken cancellationToken)
Подробнее здесь: https://stackoverflow.com/questions/792 ... ronment-is
GOOGLE_APPLICATION_CREDENTIALS работает в локальной, но в производственной среде — нет. ⇐ C#
Место общения программистов C#
1733756153
Anonymous
У меня есть API .NET 7.0, который использует среду GOOGLE_APPLICATION_CREDENTIALS для поиска в Firebase. Используя тот же JSON-аутентификатор, я могу выполнять поиск в Firebase, запустив приложение локально. Однако при публикации приложения в контейнере докеров и выполнении того же поиска я получаю сообщение об ошибке: «В запросе были неверные учетные данные аутентификации. Ожидается токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные аутентификации. См. https://developers.google.com /identity/sign-in/web/devconsole-project." Мне просто нужно знать, связана ли проблема с окружением GOOGLE_APPLICATION_CREDENTIALS в образе докера или с настройками Google Cloud API и служб.
Я пытался создать Oauth 2.0 в своем облачном приложении. как учит веб-сайт https://developers.google.com/identity/sign-in/web/devconsole-project, но безуспешно. а также локально работает без проблем
вот dockerfile:
...
ENV GOOGLE_APPLICATION_CREDENTIALS=/app/Credential-7291824fb310.json
ENV PROJECT_ID=XXXXXXXXX
WORKDIR /app
COPY --from=build /app/dist/ /app
COPY ./Credential-7291824fb310.json .
EXPOSE 5002
ENTRYPOINT ["dotnet", "myAPP.API.dll"]
вот трассировка стека
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HN8NVLQG0G1Q", Request id "0HN8NVLQG0G1Q:00000002": An unhandled exception was thrown by the application.
Grpc.Core.RpcException: Status(StatusCode="Unauthenticated", Detail="Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.")
at Grpc.Net.Client.Internal.HttpContentClientStreamReader`2.MoveNextCore(CancellationToken cancellationToken)
at Google.Api.Gax.Grpc.AsyncResponseStream`1.MoveNextAsync(CancellationToken cancellationToken)
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+MoveNext()
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+MoveNext()
at Google.Cloud.Firestore.Query.StreamResponsesAsync(ByteString transactionId, CancellationToken cancellationToken, Boolean allowLimitToLast)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()
at System.Linq.AsyncEnumerable.g__Core|99_0[TSource](IAsyncEnumerable`1 source, Action`1 action, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs:line 41
at System.Linq.AsyncEnumerable.g__Core|99_0[TSource](IAsyncEnumerable`1 source, Action`1 action, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs:line 41
at Google.Cloud.Firestore.Query.GetSnapshotAsync(ByteString transactionId, CancellationToken cancellationToken)
Подробнее здесь: [url]https://stackoverflow.com/questions/79265394/google-application-credentials-working-in-local-but-in-production-environment-is[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия