CodeShot
OpenID Connect1 دقیقه مطالعه

OpenID Connect چیست؟

لایه احراز هویت که روی OAuth2 ساخته شده؛ علاوه بر Access Token، یک ID Token استاندارد برای اثبات هویت کاربر هم برمی‌گرداند.

چرا مهم است؟

OAuth2 خام برای «Authorization» طراحی شده، نه اثبات هویت؛ OpenID Connect (OIDC) دقیقاً همان جای خالی را با یک استاندارد مشخص (ID Token) پر می‌کند و پایه اکثر سیستم‌های Single Sign-On مدرن است.

تعریف

OpenID Connect (OIDC) یک لایه استاندارد روی OAuth2 است که در کنار Access Token، یک ID Token (خودش یک JWT با فیلدهای مشخص مثل sub، email، name) برمی‌گرداند که هویت کاربر را اثبات می‌کند.

تفاوت با OAuth2 خام

  • OAuth2: «این اپ اجازه دارد این کار را برای کاربر انجام دهد» (Authorization).
  • OIDC: «این کاربر واقعاً همان کسی است که می‌گوید» (Authentication) — با ID Token استاندارد.

مثال (دات‌نت — پیکربندی OIDC)

builder.Services.AddAuthentication(options =>
    {
        options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
    })
    .AddCookie()
    .AddOpenIdConnect(options =>
    {
        options.Authority = "https://login.microsoftonline.com/{tenant}/v2.0";
        options.ClientId = "your-client-id";
        options.ResponseType = "code";
    });

اشتباه رایج

❌ پیاده‌سازی دستی احراز هویت روی OAuth2 خام (استخراج هویت از Access Token غیراستاندارد هر سرویس) به‌جای استفاده از OIDC — این کار شکننده است؛ OIDC دقیقاً برای همین استانداردسازی شده.

منبع و مطالعه بیشتر

خلاصه

OpenID Connect روی OAuth2 یک ID Token استاندارد برای اثبات هویت کاربر اضافه می‌کند؛ OAuth2 به‌تنهایی فقط Authorization است. برای احراز هویت واقعی همیشه از OIDC استفاده کنید، نه استخراج دستی هویت از Access Token. مرجع کامل: openid.net — How Connect Works.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←