البرمجة

OAuth 2.0 والمصادقة الحديثة

12 ديسمبر 202512 دقائق قراءة
OAuth 2.0 والمصادقة الحديثة

فهم OAuth 2.0 وتطبيقه لمصادقة آمنة في تطبيقاتك.

ما هو OAuth 2.0؟

OAuth 2.0 معيار للتفويض. يسمح للتطبيقات بالوصول لموارد المستخدم بدون كشف كلمة المرور.

المصطلحات

Resource Owner = المستخدم
Client         = تطبيقك
Authorization Server = من يصدر الـ tokens (Google, Facebook)
Resource Server = الـ API الذي يحمي الموارد
Access Token   = المفتاح للوصول

Authorization Code Flow

// 1. توجيه المستخدم للـ authorization
const authUrl = `https://auth.example.com/authorize?
  client_id=${CLIENT_ID}&
  redirect_uri=${REDIRECT_URI}&
  response_type=code&
  scope=read:profile`;

// 2. استبدال الـ code بـ token
const response = await fetch('https://auth.example.com/token', {
  method: 'POST',
  body: new URLSearchParams({
    grant_type: 'authorization_code',
    code: authCode,
    client_id: CLIENT_ID,
    client_secret: CLIENT_SECRET,
  })
});
const { access_token } = await response.json();

استخدام Passport.js

const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20');

passport.use(new GoogleStrategy({
  clientID: GOOGLE_CLIENT_ID,
  clientSecret: GOOGLE_CLIENT_SECRET,
  callbackURL: '/auth/google/callback'
}, (accessToken, refreshToken, profile, done) => {
  return done(null, profile);
}));

الخلاصة

OAuth 2.0 معيار الصناعة. Passport.js يسهل التكامل مع مزودين متعددين.

الوسوم

#OAuth#Authentication#Security#JWT#API

مقالات ذات صلة