Hello appwrite lovers,
I am trying to implement Facebook auth in my NextJS app. I am using /app directory.
Here is my action:
'use server';
import { Account, Client, OAuthProvider } from 'appwrite';
import { cookies } from 'next/headers';
export async function signinWithFacebook() {
const client = new Client()
.setEndpoint(process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT!)
.setProject(process.env.NEXT_PUBLIC_APPWRITE_PROJECT!);
const account = new Account(client);
try {
account.createOAuth2Session(OAuthProvider.Facebook, '/', '/auth/signin', [
'email',
'public_profile',
]);
const session = await account.getSession('current');
cookies().set('session', session.secret, {
path: '/',
httpOnly: true,
sameSite: 'strict',
secure: true,
});
} catch (error) {
console.log(error);
}
}
And here is my login button:
<form action={signinWithFacebook}>
<Button variant='outline' type='submit'>
<Facebook className='mr-2' /> Sign in With Facebook
</Button>
</form>
But when I am clicking the button I am getting this error:
[AppwriteException: User (role: guests) missing scope (account)] {
name: 'AppwriteException',
code: 401,
type: 'general_unauthorized_scope',
response: {
message: 'User (role: guests) missing scope (account)',
code: 401,
type: 'general_unauthorized_scope',
version: '1.5.7'
}
Can anyone help me to resolve this issue. Big thanks in advance.
Have you looked at this tutorial for ssr auth in nextjs?
https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-3
Right off the bat I see youre using the client side sdk, you should be using node-appwrite on server actions.
Yes, I was able to create EmailPasswordSession successfully following this article.
Recommended threads
- HUGE OUTRAGE IN APPWRITE, I CANNOT ACCES...
I have 2k users trying to access, sending me messages. What am I supposed to do? Please solve this asap.
- All my apps are not opening now
All my apps are not opening now 200+ apps are not opening plz fast
- Authentication on custom Websocket Serve...
Hi, I want to use a custom Websocket Server (using Bun) for my application. However I cant really figure out authentication on custom servers. Session cookies ...