| sign_metabase_embed_jwt |
function |
py |
infra |
1.0.0 |
impure |
def sign_metabase_embed_jwt(secret: str, resource_type: str, resource_id: int, base_url: str, params: dict | None = None, exp_seconds: int = 3600, theme: str | None = None, bordered: bool = True, titled: bool = True) -> dict |
Firma un JWT de static-embedding de Metabase (HS256 con PyJWT) y construye la URL del iframe (/embed/<type>/<token>#opciones). Soporta question y dashboard, params locked/enabled, TTL configurable y tema opcional. |
|
|
|
|
false |
error_go_core |
|
true |
| test_firma_y_decodifica_round_trip |
| test_resource_type_invalido_lanza_valueerror |
| test_embed_url_dashboard |
|
python/functions/infra/sign_metabase_embed_jwt_test.py |
python/functions/infra/sign_metabase_embed_jwt.py |
| name |
desc |
| secret |
Secret de embedding de Metabase (Settings > Embedding). NUNCA va al cliente. |
|
| name |
desc |
| resource_type |
"question" o "dashboard" — tipo del recurso a embeber. |
|
| name |
desc |
| resource_id |
Id numerico de la card o dashboard en Metabase. |
|
|
|
| name |
desc |
| params |
Parametros de embedding locked/enabled (dict). Default {}. |
|
| name |
desc |
| exp_seconds |
TTL del token en segundos desde ahora. Default 3600 (1h). |
|
| name |
desc |
| theme |
Tema opcional: "night" | "transparent" | None. |
|
| name |
desc |
| bordered |
Si el iframe muestra borde. Default True. |
|
| name |
desc |
| titled |
Si el iframe muestra titulo. Default True. |
|
|
dict con {"token": jwt str, "embed_url": url completa /embed/<type>/<token>#opciones, "exp": unix int}. |