相关疑难解决方法(0)

如何从一个域重定向到另一个域并为另一个域设置 cookie 或标头?

我正在使用 FastAPIRedirectResponse并尝试将用户从一个应用程序(域)重定向到另一个应用程序(域),并在 ; 中设置一些responsecookie 然而,cookie 总是被删除/不被传输。如果我尝试添加一些标头,我添加到的所有标头RedirectResponse也不会传输。

@router.post("/callback")
async def sso_callback(request: Request):
   jwt_token = generate_token(request)
   redirect_response = RedirectResponse(url="http://192.168.10.1/app/callback", 
                             status_code=303)
   redirect_response.set_cookie(key="accessToken", value=jwt_token, httponly=True)
   redirect_response.headers["Authorization"] = str(jwt_token)
   return redirect_response
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?先谢谢您的帮助。

python cookies redirect cross-domain fastapi

10
推荐指数
1
解决办法
8893
查看次数

FastAPI 不会将 cookie 返回到 React 前端

为什么 FastAPI 不将 cookie 返回到我的前端(这是一个 React 应用程序)?

这是我的代码:

@router.post("/login")
def user_login(response: Response,username :str = Form(),password :str = Form(),db: Session = Depends(get_db)):
    user = db.query(models.User).filter(models.User.mobile_number==username).first()
    if not user:
        raise HTTPException(400, detail='wrong phone number or password')
    if not verify_password(password, user.password):
        raise HTTPException(400, detail='wrong phone number or password')
    
   
    access_token = create_access_token(data={"sub": user.mobile_number})
    response.set_cookie(key="fakesession", value="fake-cookie-session-value") #here I am set cookie 
    return {"status":"success"}  
Run Code Online (Sandbox Code Playgroud)

当我从 Swagger UI autodocs 登录时,我可以使用 Chrome 浏览器上的 DevTools 在响应标头中看到 cookie。但是,当我从 React 应用程序登录时,没有返回 cookie。我正在使用 axios 发送这样的请求:

await axios.post(login_url, formdata)

javascript python reactjs axios fastapi

5
推荐指数
1
解决办法
4858
查看次数

标签 统计

fastapi ×2

python ×2

axios ×1

cookies ×1

cross-domain ×1

javascript ×1

reactjs ×1

redirect ×1