Как получить токен с платформы идентификации, используя учетную запись службы, в которой закодирован клиентPython

Программы на Python
Anonymous
 Как получить токен с платформы идентификации, используя учетную запись службы, в которой закодирован клиент

Сообщение Anonymous »

Для моего действия на GitHub я пытаюсь получить токен области действия клиента с платформы Google Identity, который затем можно использовать для взаимодействия с приложением cli, требующим входа в систему пользователем-разработчиком клиента. Как мне это сделать?
В целях тестирования я использую скрипт Python для получения токена, а затем использую этот токен для ручного входа в наш интерфейс командной строки. Но вход в REST API платформы идентификации с помощью специального токена, который использует интерфейс cli, возвращает внутреннюю ошибку сервера со статусом 500. Я понятия не имею, как это вообще отладить, поскольку обозреватель журналов не показывает эту ошибку, но я подозреваю, что в токене, полученном из учетной записи службы, должен быть закодирован арендатор. Возможно ли это?
Примечание: единственная роль, которую я назначил сервисному аккаунту, — это создатель токена сервисного аккаунта.
import json
import firebase_admin
from firebase_admin import credentials, auth

# Load service account
cred = credentials.Certificate('service_account.json')

# Initialize Firebase Admin SDK
firebase_admin.initialize_app(cred)

# Load service account to get the UID
with open('service_account.json', 'r') as f:
service_account = json.load(f)

# Tenant ID for developers
tenant_id = 'my-tenant-id'

# Use a developer user UID
uid = 'some made up userid'

# Create custom token using Firebase Admin SDK with tenant ID
custom_token = auth.create_custom_token(uid)

# Decode bytes to string if needed
if isinstance(custom_token, bytes):
custom_token = custom_token.decode('utf-8')

print(f"Custom token for tenant '{tenant_id}' and user '{uid}':")
print(custom_token)


Подробнее здесь: https://stackoverflow.com/questions/797 ... t-that-has

Вернуться в «Python»