Problem:
Wenn ich ein JWT -Token über Cookies direkt an http: // localhost: 8000/api/profile sende, funktioniert es einwandfrei, und ich Empfange Benutzer Daten. Wenn ich das Token jedoch über einen zweiten Microservice übergebenin Zweiter Microservice:
@router.get("/profile")
def get_user(request: Request):
print("Received headers:", request.headers)
print("Received query parameters:", request.query_params)
print("Received cookies:", request.cookies)
token = request.cookies.get("access_token")
print("Received token:", token)
if not token:
raise HTTPException(status_code=401, detail="Token is missing")
return get_user_service(token)
< /code>
Ausgabe < /strong>:
Die Protokolle aus dem Senden von MicroService zeigen, dass die Cookies korrekt empfangen werden, aber wenn sie werden vom empfangenden Microservice verarbeitet, das Token wird nicht gefunden und ein 401 nicht autorisierter
Fehler zurückgegeben.
Was könnte das Problem beim Senden des Tokens sein auf diese Weise zwischen Microservices? Warum wird das Token in der Anfrage nicht korrekt an den zweiten Microservice übergeben?
[b] [url=viewtopic.php?t=11587]Problem[/url] [/b]: Wenn ich ein JWT -Token über Cookies direkt an http: // localhost: 8000/api/profile sende, funktioniert es einwandfrei, und ich Empfange Benutzer Daten. Wenn ich das Token jedoch über einen zweiten Microservice übergebenin Zweiter Microservice: [code]{ "status": 401, "statusText": "Unauthorized", "headers": { "date": "Sat, 22 Feb 2025 08:03:25 GMT", "server": "uvicorn", "content-length": "29", "content-type": "application/json" }, "data": { "detail": "Token is missing" } } [/code] [b] CORS-Einstellungen für den Microservice, der das Token sendet[code]app.set('trust proxy', true); app.use(cookieParser());
// CORS settings app.use(cors({ origin: 'http://localhost:5173', credentials: true, optionsSuccessStatus: 200 })); [/code] CORS-Einstellungen für den Microservice, der das Token erhält [/b]: [code]app = FastAPI()
origins = [ "http://localhost:5173" ]
app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) [/code] [b] Code zum Senden von Cookies [/b]: [code]const axios = require('axios');
const getUserProfile = async (token) => { try { const response = await axios.get('http://fast-api:8000/api/profile', { withCredentials: true, // Send cookies with the request }); return response.data; } catch (error) { console.error('Error fetching user profile:', error);
token = request.cookies.get("access_token") print("Received token:", token) if not token: raise HTTPException(status_code=401, detail="Token is missing")
return get_user_service(token) < /code>
Ausgabe < /strong>: Die Protokolle aus dem Senden von MicroService zeigen, dass die Cookies korrekt empfangen werden, aber wenn sie werden vom empfangenden Microservice verarbeitet, das Token wird nicht gefunden und ein 401 nicht autorisierter [/code] Fehler zurückgegeben. Was könnte das [url=viewtopic.php?t=11587]Problem[/url] beim Senden des Tokens sein auf diese Weise zwischen Microservices? Warum wird das Token in der Anfrage nicht korrekt an den zweiten Microservice übergeben?
Ich implementiere die OAuth -Authentifizierung (Google & Facebook) in meiner .NET -API mit Entity Framework und JWT -Token. Ich habe bereits mein eigenes lokales Authentifizierungssystem mit JWT...
Kontext
Hallo, ich bin ein Neuling im Spring -Boot und habe ein Wunder, während die Anmeldungs- und Registrierungsfunktion für eine Spring -Boot -API implementiert wird.
Hier ist mein GitHub Repo...
Ich möchte in meinem Code reine Firebase/PHP-JWT-Bibliothek verwenden. Erstens gehe ich zu/var/www/html/ und wie die offizielle Bibliotheksseite vorschlägt, mache ich dies
Problem:
Ich baue ein Flask-Backend mit Flask-restful, Flask-jwt-erweitert und postgresql. Beim Testen von JWT -Token -Ablauf über Postmanen führen abgelaufene Token konsistent zu einem 500 internen...