Я продолжал столкнуться с проблемой CORS в моей программе RedwoodJS с моей аутентификацией, подключенной к Supabase. Я заметил, что когда я передаю запрос с заголовком, выпуска CORS замечена: доступ к Fetch по адресу 'http: // localhost: 8087/profile' от Origin 'http: // localhost: 8910', политикой Cors-Control-Control-Control-Control-Control. Если непрозрачный ответ удовлетворяет ваши потребности, установите режим запроса на «No-Cors», чтобы получить ресурс с отключенными CORS. Это работает правильно. Пример этого - My /Login < /code> конечная точка API.
Изменил get_response_headers для использования * для целей отладки. Но ошибка все еще сохраняется: < /li>
< /ul>
def get_response_headers(request: Request, content_type: str = "application/json") -> dict:
origin = request.headers.get("origin")
return {
"Content-Type": content_type,
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "*",
"Access-Control-Allow-Headers": "*",
"Access-Control-Allow-Credentials": "true",
}
< /code>
использовал Bruno, чтобы сделать запрос с заголовками для авторизации, как и предполагалось. Контролируется, чтобы работать, но проблема Cors показана в приложении Redwoodjs.
Я продолжал столкнуться с проблемой CORS в моей программе RedwoodJS с моей аутентификацией, подключенной к Supabase. Я заметил, что когда я передаю запрос с заголовком, выпуска CORS замечена: доступ к Fetch по адресу 'http: // localhost: 8087/profile' от Origin 'http: // localhost: 8910', политикой Cors-Control-Control-Control-Control-Control. Если непрозрачный ответ удовлетворяет ваши потребности, установите режим запроса на «No-Cors», чтобы получить ресурс с отключенными CORS. Это работает правильно. Пример этого - My /Login < /code> конечная точка API.[code]import { useState, useEffect, useCallback } from 'react' import { config } from 'src/config' import { logger } from 'src/loggers/logger'
@app.get("/profile") async def profile(request): auth_header = request.headers.get("Authorization") or request.headers.get("authorization")
if not auth_header or not auth_header.startswith("bearer "): return Response( status_code=401, headers=get_response_headers(request), description=json.dumps({"error": "Unauthorized"}) )
logger.info(f'Decoded token: {decoded_token}') return Response( status_code=200, headers=get_response_headers(request), description=json.dumps({"data": {"user": decoded_token}}) ) except jwt.ExpiredSignatureError: return Response( status_code=401, headers=get_response_headers(request), description=json.dumps({"error": "Token expired"}) ) except jwt.InvalidTokenError: return Response( status_code=401, headers=get_response_headers(request), description=json.dumps({"error": "Invalid token"}) ) [/code] Я пытался сделать следующее: [list] [*] Изменил get_response_headers для использования * для целей отладки. Но ошибка все еще сохраняется: < /li> < /ul> def get_response_headers(request: Request, content_type: str = "application/json") -> dict: origin = request.headers.get("origin") return { "Content-Type": content_type, "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "*", "Access-Control-Allow-Headers": "*", "Access-Control-Allow-Credentials": "true", } < /code>
использовал Bruno, чтобы сделать запрос с заголовками для авторизации, как и предполагалось. Контролируется, чтобы работать, но проблема Cors показана в приложении Redwoodjs. [/list]