Back
AppwriteException: Invalid `secret` param: Value must be a valid string and at least 1 chars and no
- 0
- Self Hosted
- Web

Using NextJs and try to create a session
The code is:
TypeScript
export async function createSessionClient(userId: string, sessionSecret: string): Promise<AppwriteClient> {
console.log("Creating session client...");
console.log("User ID:", userId);
console.log("Session Secret:", sessionSecret);
const client = new Client()
.setEndpoint(process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT as string)
.setProject(process.env.NEXT_PUBLIC_APPWRITE_PROJECT as string)
//create session
const account = new Account(client);
const result = await account.createSession(userId, sessionSecret);
console.log("Session created:", result);
Error:
TypeScript
AppwriteException: Invalid `secret` param: Value must be a valid string and at least 1 chars and no longer than 256 chars
at async createSessionClient (src/lib/server/appwrite.ts:43:19)
at async getLoggedInUser (src/lib/server/appwrite.ts:129:24)
at async AuthGuard (src/hocs/AuthGuard.tsx:17:17)
41 | const account = new Account(client);
42 |
> 43 | const result = await account.createSession(userId, sessionSecret);
| ^
44 |
45 | console.log("Session created:", result);
46 | {
code: 400,
type: 'general_argument_invalid',
response: [Object]
}```
```json
"dependencies": {
"appwrite": "^17.0.0",
"next": "15.1.2",
"next-auth": "^4.24.11",
"node-appwrite": "^15.0.0",
"react": "18.3.1",
},
TL;DR
Developers are experiencing an error stating "Invalid `secret' param" when creating a session in a NextJS app using Appwrite. The error is due to the session secret being either null, too short, or too long. Make sure the secret provided is a valid string between 1 and 256 characters.Recommended threads
- Looking for Partner
I'm looking for a partner for long-term collaboration. Of course, you'll get paid for it. If you are interested, please send a DM to me
- Having errors migrating to cloud
Project will not migrate compeltely
- ENV vars not updating
When i do `nano .env` it shows `_APP_DOMAIN_TARGET=` as set to my domain, but when i do `docker compose exec appwrite vars` it shows `_APP_DOMAIN_TARGET=` as ...
