uLuvBobs1337Original post
Rank 1: Thread
On local its works perfectly fine, but in vercel where i deployed my front its failing to create a session
This is my code:
export class AuthService {
private readonly SESSION_KEY = 'user_session';
private client: Client;
private account: Account;
private isAuthenticatedSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
public isAuthenticated$: Observable<boolean> = this.isAuthenticatedSubject.asObservable();
constructor() {
this.client = new Client().setEndpoint('https://cloud.appwrite.io/v1');
this.client.setProject("PROJECT_ID");
this.account = new Account(this.client);
}
async login(email: string, password: string): Promise<void> {
try {
//setting email session
await this.account.createEmailSession(email, password);
// const privatejwt : Models.Jwt = await this.account.createJWT();
// console.log(privatejwt);
// //settign json web token
// await this.client.setJWT(privatejwt.jwt);
const sessionData = await this.account.get();
this.isAuthenticatedSubject.next(true); // Emit true when user is logged in
localStorage.setItem(this.SESSION_KEY, JSON.stringify(sessionData));
// localStorage.setItem('appwrite_jwt', privatejwt.jwt);
} catch (error) {
console.error('Login error:', error);
throw new Error('Failed to login. Please check your credentials and try again.');
}
}
Summary
Developers are facing an issue with creating a session in Angular on Vercel. The code works fine locally but fails on Vercel. They are questioning whether to use `createEmailSession` directly or if a cloud function is needed. The issue may be related to the way authentication is handled for production. A solution was not provided in the thread.