Back

message"User (role: guests) missing scope (account)"

  • 0
  • Web
doomer
5 Feb, 2025, 15:58
TypeScript
// src/lib/appwriteConfig.js
import { Client, Account, Databases } from "appwrite";

const client = new Client()
  .setEndpoint(import.meta.env.VITE_APPWRITE_API_ENDPOINT)
  .setProject(import.meta.env.VITE_APPWRITE_PROJECT_ID);

const account = new Account(client);
const databases = new Databases(client);

export { client, account, databases };
TypeScript
// Register.jsx
import { account } from "../lib/appwriteConfig";
import { Button } from "@mui/material";

export default function Register() {
  const navigate = useNavigate();
  const {
    register: authRegister,
    isLoading,
    error,
    clearError,
  } = useAuthStore();

  const {
    register,
    handleSubmit,
    formState: { errors },
  } = useForm({
    resolver: zodResolver(schema),
    defaultValues: {
      role: "client",
    },
  });

  const onSubmit = async (formData) => {
    try {
      clearError();
      const user = await authRegister(formData);
      if (user) {
        navigate(`/${formData.role}/dashboard`);
      }
    } catch (error) {
      console.error("Registration error:", error);
    }
  };

  const handleGoogleLogin = async () => {
    try {
      clearError();
      await account.createOAuth2Session(
        "google",
        `${window.location.origin}/dashboard`, // Success URL
        `${window.location.origin}/login` // Failure URL
      );
    } catch (error) {
      console.error("Google login error:", error);
    }
  };

  useEffect(() => {
    return () => clearError();
  }, [clearError]);
  
  return (
    <Button onClick={handleGoogleLogin}>Contienue with Google</Button>)
    {rest of the code is just a form for signing up normally}
  
}
TL;DR
Developers are encountering a 'User missing scope account' error in their code. The issue lies in the missing 'account' scope during authentication. To resolve, ensure that the client has the necessary scope for account operations in the Appwrite configuration.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more