Git Product home page Git Product logo

Comments (5)

frandiox avatar frandiox commented on May 27, 2024

@domsen123 If I'm not understanding wrong, you should find the cookies in the request object during SSR. That object can be accessed in the main hook automatically during development:

export default viteSSR(App, { routes }, ({ initialState, request }) => {
   // ...
})

In production, you need to pass it to the render function in order to be available in the hook:

const { html } = await render(url, {
    manifest,
    preload: true,
    request,
    response,
  })

from vite-ssr.

domsen123 avatar domsen123 commented on May 27, 2024

thanks for the fast reply...

ok I'm bit confused right now...

I do auth request (ClientContext): receive cookie Auth={{token}}
If I hit F5 and inspect the request attribute from viteSSR hook, I can see the auth cookie in headers - ok!

I have an simple auth endpoint /checkAuth (checks Auth cookie)

If I hit this request on ClientContext => ok
If I hit this request on ssrContext (api call on setup function and spamming [strg]+ [f5]) = 401

axios withCredentials is set to true...

My api server is running on :3000...
My vite-ssr is running on :3333...

on api server I set 'access-control-allow-origin': 'http://localhost:3333'

from vite-ssr.

frandiox avatar frandiox commented on May 27, 2024

I guess that would be because you need to share the cookies manually between the request object you have in SSR (which comes from the browser) and your new API request where you are using fetch or axios.
Since SSR runs in Node, it doesn't know how to attach cookies automatically unlike the browser.

Does that make sense? πŸ€”

from vite-ssr.

domsen123 avatar domsen123 commented on May 27, 2024

yes... totaly... I am stupid af πŸ˜…

now I am creating an axios instance on ssrContext and ClientContext passing the cookie header to the axios instance if available...

sure - on ssrContext, there is no browser for storing cookies and reuse it "withcredentials"..

anyways.... thanks for pushing me to the right direction - now its working!!! πŸ‘πŸ‘πŸ‘

from vite-ssr.

frandiox avatar frandiox commented on May 27, 2024

No problem, we are all learning here!

from vite-ssr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.