CodeShot
IdentityServer/OpenIddict1 دقیقه مطالعه

IdentityServer و OpenIddict چه هستند؟

دو کتابخانه محبوب دات‌نت برای ساخت یک Authorization Server/OpenID Provider اختصاصی — وقتی می‌خواهید خودتان صادرکننده توکن باشید، نه فقط مصرف‌کننده.

چرا مهم است؟

وقتی چند اپلیکیشن/سرویس داخلی نیاز به Single Sign-On مشترک دارند، به‌جای اتکا به یک ارائه‌دهنده بیرونی (گوگل/مایکروسافت)، یک Authorization Server داخلی با IdentityServer/OpenIddict راه‌اندازی می‌شود.

تعریف

هر دو کتابخانه امکان ساخت یک OAuth2/OpenID Connect Provider کامل روی دات‌نت را می‌دهند: صدور Access Token/ID Token، مدیریت Client، و پیاده‌سازی جریان‌های استاندارد (Authorization Code، Client Credentials).

تفاوت کلیدی

  • IdentityServer (Duende): پرسابقه‌تر، از نسخه‌ای به بعد تجاری (نیاز به لایسنس برای پروژه‌های درآمدزا)، مستندات و اکوسیستم گسترده.
  • OpenIddict: متن‌باز و رایگان، به‌شدت با ASP.NET Core Identity/EF Core یکپارچه، جایگزین رایگان محبوب بعد از تغییر مدل لایسنس IdentityServer.

مثال مفهومی جریان Client Credentials (سرویس‌به‌سرویس)

Service A → درخواست توکن با ClientId/ClientSecret → Authorization Server (IdentityServer/OpenIddict)
         → Access Token → درخواست به Service B با این توکن

اشتباه رایج

❌ ساخت یک Authorization Server داخلی از صفر (پیاده‌سازی دستی OAuth2/OIDC) به‌جای استفاده از یکی از این کتابخانه‌های تست‌شده — پیاده‌سازی درست و امن این پروتکل‌ها بسیار ظریف و پر از جزئیات امنیتی است.

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

خلاصه

IdentityServer و OpenIddict امکان ساخت Authorization Server اختصاصی دات‌نت را می‌دهند؛ IdentityServer تجاری شده، OpenIddict گزینه متن‌باز و رایگان است. هیچ‌وقت OAuth2/OIDC را از صفر پیاده‌سازی نکنید. مرجع کامل: مستندات OpenIddict و Duende IdentityServer.

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