MW-1449 - Superset embedded dashboard support#23
Conversation
0e4f566 to
61d4779
Compare
|
There was a problem hiding this comment.
Two points:
- CHANGELOG entry is missing.
- The migration timestamp doesn't match the existing convention. Existing migrations follow the
yyyyMMddHHmmssSSSpattern (14 characters), but the new one is20260401000000000__... (17 characters). The easiest fix is to regenerate it using the Gradle task, which produces the correct format automatically:docker compose run --service-ports reportgradle generateMigration -PmigrationName=name_of_migration
- Please avoid hardcoded English error messages - I'd recommend throwing with a generic message key instead of including the raw csrfBody in the exception.
Also what are your thoughts on these?
- Do we actually need defaults for superset.admin.user and superset.admin.password? If not, I'd drop them from the config and require them via environment variables only.
- A couple of thoughts on
SupersetGuestTokenController.getGuestToken:- It might be worth looking up the dashboard_reports row by embedded_uuid and returning 404 if it's missing, rather than passing the request through unconditionally.
- Optionally, we could check the user's role and permissions against which dashboards they're allowed to see. This may be follow-up scope rather than something for this PR - just flagging.
…t by REPORTS_VIEW and embeddedUuid - Rename migration to a canonical now()-based timestamp via the generateMigration Gradle task - Throw a localized ServerException (with new SupersetMessageKeys) instead of including raw Superset response bodies in IllegalStateException messages - Drop the insecure admin/changeme @value defaults; SupersetService now short-circuits with a "not configured" ServerException when superset.url/admin user/password are unset, so the service still boots for adopters who do not use Superset - Add existsByEmbeddedUuid lookup and return 404 when no dashboard report matches the requested UUID - Gate the guest-token endpoint behind permissionService.canViewReports() - Add CHANGELOG entry
|
Thanks for the review. Changes made:
From your "optional" suggestions:
@mgrochalskisoldevelo Could you please review again? |



Replaces the legacy superset-patchup OAuth flow with guest token authentication compatible with Superset 6.0 and the new SolDeveloreporting stack. WIP until the reporting stack integration is tested and merged.
Summary
GET /api/reports/superset/guest-tokenendpoint that proxies guest token requests to SupersetembeddedUuidfield toDashboardReportentity for storing Superset embedded dashboard UUIDsSupersetServicefor Superset API communication (login, CSRF, guest token)