DeveloperBreeze

تسجيل الدخول Development Tutorials, Guides & Insights

Unlock 2+ expert-curated تسجيل الدخول tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your تسجيل الدخول skills on DeveloperBreeze.

Tutorial
php

بناء API متقدم باستخدام Laravel Passport للتوثيق

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;

class AuthController extends Controller
{
    // تسجيل مستخدم جديد
    public function register(Request $request)
    {
        $request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
        ]);

        $user = User::create([
            'name' => $request->name,
            'email' => $request->email,
            'password' => Hash::make($request->password),
        ]);

        $token = $user->createToken('LaravelPassportAPI')->accessToken;

        return response()->json(['token' => $token], 201);
    }

    // تسجيل الدخول
    public function login(Request $request)
    {
        $credentials = $request->only('email', 'password');

        if (Auth::attempt($credentials)) {
            $user = Auth::user();
            $token = $user->createToken('LaravelPassportAPI')->accessToken;

            return response()->json(['token' => $token], 200);
        } else {
            return response()->json(['error' => 'Unauthenticated'], 401);
        }
    }

    // الحصول على بيانات المستخدم
    public function user()
    {
        return response()->json(Auth::user(), 200);
    }
}

افتح ملف routes/api.php وأضف المسارات الخاصة بالتسجيل وتسجيل الدخول:

Sep 27, 2024
Read More
Tutorial
javascript

بناء تطبيق ويب متقدم باستخدام React.js وNode.js

// Login user
router.post('/login', async (req, res) => {
    const { email, password } = req.body;

    try {
        const user = await User.findOne({ email });
        if (!user) return res.status(400).json({ message: 'المستخدم غير موجود' });

        const isMatch = await bcrypt.compare(password, user.password);
        if (!isMatch) return res.status(400).json({ message: 'كلمة المرور غير صحيحة' });

        const token = jwt.sign({ id: user._id }, process.env.JWT_SECRET, { expiresIn: '1h' });
        res.json({ token });
    } catch (error) {
        res.status(500).json({ message: 'خطأ في الدخول' });
    }
});
   cd backend
   node server.js

Sep 27, 2024
Read More