
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
appwrite-ssr
Advanced tools
appwrite-ssr will help you to create ssr applications with appwrite.
you can find example code on github: https://github.com/Ota-Prokopec/appwrite-ssr-example
Appwrite is an open-source backend as a service server that abstract and simplify complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the Web SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to https://appwrite.io/docs
npm i appwrite-ssr
or
yarn add appwrite-ssr
import appwrite from 'appwrite-ssr'
set up appwrite project endpoint, project id and hostname of your server (you can also set apiKey if you want to use admin actions - it is optional) and create your own instance
import appwrite from 'appwrite-ssr'
export const myAppwriteInstance = appwriteSSR.setProject({
endPoint: 'https://cloud.appwrite.io/v1',
projectId: 'your-project-id',
hostname: 'your-server-hostname',
apiKey: 'your-api-key',
})
Connect user to your Appwrite by setting users session, or use setAdmin to act like admin
// passing users session
const { Collection } = myAppwriteInstance.setSession('users session here')
//authorizate by passing users cookies
const { Collection } = myAppwriteInstance.setCookie([{ name: '', value: '' }])
//dont authorizate user - use this for signing user into app
const { Collection } = myAppwriteInstance.none()
//act as admin (use your apiKey)
const { Collection } = myAppwriteInstance.setAdmin()
log user into your application using email
const { account } = myAppwriteInstance.none()
const { sessionLegacyToken, sessionToken } = await account.loginViaEmail('email', 'password')
event.cookies.set(sessionToken.name, sessionToken.value)
log user into your application using oAuth2
on client side use:
import { account } from 'appwrite' // https://www.npmjs.com/package/appwrite
await account.createOAuth2Session(platform, `${location.origin}/auth/oauth2/success`, `${location.origin}/oauth2/failure`)
on server side use:
//the path for this function has to be /auth/oauth2/success (strictly)
const { account } = myAppwriteInstance.none()
const url = 'whole URL'
const { sessionLegacyToken, sessionToken } = await account.oauth2Login(url)
event.cookies.set(sessionToken.name, sessionToken.value)
if you set the session into cookies of users browser, you will not have to take care or creating session on client side - you will be able to use client appwrite sdk with appwrite-ssr authorization
log user out or your application
const { account } = myAppwriteInstance.none()
const { sessionLegacyToken, sessionToken } = await account.logOut()
event.cookies.delete(sessionToken.name)
import type { PageServerLoad } from './$types'
import type { Types } from 'appwrite-ssr'
type GrassDocumentGet = Types.Document<{
grassName: string
grassOptionalDescription: string //optional value with default value
grassEnumValue: null | 'value' | 'value2'
}>
type GrassDocumentCreate = {
grassName: string
grassOptionalDescription?: string
grassEnumValue: null | 'value' | 'value2'
}
// key2 is optional but there is always a default value
const { Collection } = myAppwriteInstance.setCookie(cookies)
const collectionGrass = new Collection<GrassDocumentGet, GrassDocumentCreate>('your-database-id', 'your-collection-id')
const grassQuery = Query<GrassDocumentGet>()
const query = grassQuery.equal('grassName', 'nameOfGrass')
const res = await collectionGrass.getDocument([query])
import appwrite, { permissions, type Types } from 'appwrite-ssr'
const { Bucket } = appwrite
.setProject({
endPoint: 'https://cloud.appwrite.io/v1',
projectId: 'fads',
})
.setCookie(cookies)
const bucketGrass = new Bucket('myBucketId')
return { bucketGrass }
const buckets = setCookie(event.cookies.getAll())
const base64 = ''
const res = bucketGrass.createFile(base64, permissions.owner('myUserId'))
This project is licensed under the MIT
FAQs
Create Appwrite apps with your server-side rendering
The npm package appwrite-ssr receives a total of 6 weekly downloads. As such, appwrite-ssr popularity was classified as not popular.
We found that appwrite-ssr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.