First of all, congratulations on your endeavours to make Appwrite integration with SSR frameworks easier... The new flows highlighted in https://appwrite.io/docs/products/auth/server-side-rendering make alot of sense in my perspective.
However, I think being able to do direct requests from the users' browsers directly to Appwrite servers still make sense. For example, using Appwrite Client SDK for reads and using Appwrite Server SDK for write operations for example.
What would be the recommended way, to authenticate on the server and preserve a cookie that's valid with Appwrite and another that is valid with our own Server?
Previously, I was doing something like this:
export function setSessionFromHttpResponse(
response: FetchResponse<unknown>,
event: H3Event<EventHandlerRequest>
) {
const { appwriteHostname, ssrHostname } = useAppwriteConfig()
const cookiesString = (response.headers.get('set-cookie') ?? '')
.split(appwriteHostname)
.join(ssrHostname)
const cookiesArray: string[] = setCookieParser.splitCookiesString(cookiesString)
const cookiesParsed = cookiesArray.map((c) => setCookieParser.parseString(c))
cookiesParsed.forEach((cookie) => {
setCookie(event, cookie.name, cookie.value, {
domain: cookie.domain,
expires: cookie.expires,
httpOnly: cookie.httpOnly,
maxAge: cookie.maxAge,
path: cookie.path,
secure: cookie.secure,
sameSite: 'strict',
})
})
}
Would this still be the only way for something like this to work?
Maybe you can take the new secret and then set a cookie so that it gets sent to Appwrite from the client
Recommended threads
- Build failed
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
- Other DateTime Columns Are Saved Incorre...
When opening a row’s details from the console and editing any field, the timestamps of other DateTime columns are being automatically changed and incorrectly sa...
- Invalid Origin. Register your new client...