From 92c0058085882593b1d4f1014e95d3f05c5952ad Mon Sep 17 00:00:00 2001 From: Emiliano Frascaro Date: Tue, 2 Jun 2026 22:43:31 +0200 Subject: [PATCH] Corregge OAuth YouTube piattaforma senza access token in memoria. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il refresh token ENV non veniva scambiato finché expires_at era vuoto, causando 500 Unauthorized alla creazione sessione YouTube. Co-authored-by: Cursor --- backend/app/controllers/api/v1/base_controller.rb | 8 ++++++++ backend/app/services/youtube/oauth_refresh.rb | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/app/controllers/api/v1/base_controller.rb b/backend/app/controllers/api/v1/base_controller.rb index 95536eb..37cd38f 100644 --- a/backend/app/controllers/api/v1/base_controller.rb +++ b/backend/app/controllers/api/v1/base_controller.rb @@ -2,9 +2,17 @@ module Api module V1 class BaseController < ApplicationController rescue_from Teams::EntitlementError, with: :render_entitlement_error + rescue_from Youtube::BroadcastService::Error, with: :render_youtube_error private + def render_youtube_error(error) + render json: { + error: "YouTube: #{error.message}", + error_code: "youtube_api_error" + }, status: :unprocessable_entity + end + def render_entitlement_error(error) render json: { error: error.message, diff --git a/backend/app/services/youtube/oauth_refresh.rb b/backend/app/services/youtube/oauth_refresh.rb index 15e89d8..ac23b8f 100644 --- a/backend/app/services/youtube/oauth_refresh.rb +++ b/backend/app/services/youtube/oauth_refresh.rb @@ -7,7 +7,7 @@ module Youtube end def apply!(service) - refresh! if @credential.expired? + refresh! if @credential.refresh_token.present? && (@credential.access_token.blank? || @credential.expired?) service.authorization = @credential.access_token service end