من سعی می کنم بین Auth0 و Firebase به عنوان ارائه هویت من انتخاب کنم. من یک SPA با یک API Backend ایجاد می کنم و می خواهم از Auth0 یا Firebase برای تمام منطق مربوط به کاربران / رمزهای عبور / حقوق دسترسی و غیره استفاده کنم.
Auth0 از OIDC استفاده می کند، که استاندارد است، اما IMHO بیش از حد مهندسی شده و پیچیده است . این نشانه های جداگانه ای برای هویت (Token ID) و برای دسترسی به منابع با پسوند (نشانه دسترسی) است، در حالی که firebase از یک نشانه واحد استفاده می کند (اگر به درستی درک درستی داشته باشم). بنابراین سوال من در اینجا این است که چگونه مکانیزم احراز هویت استفاده از Firebase است و چرا یک در این مورد کافی نیست
oauth2 – نحوه مدیریت مجوزها در سرور منابع (RS) هنگام اعطای احراز هویت از طریق OIDC (Auth0)؟
من در آستانه ایجاد یک سرویس در سرور منبع خود هستم که علامت دسترسی خارجی ایجاد شده را برای یک نشانه دسترسی داخلی ایجاد می کند. با این حال، این اشتباه است من شواهدی از کسی که نیاز به این الگوی را پیدا نکرده است، نشانه خوبی است که چیزی را از دست داده ام.
جزئیات
ما یک SOA مبتنی بر REST معمولی را اجرا می کنیم. ما تأیید اعتبار را به Auth0 منتقل می کنیم تا بتوانیم از مشتریان با ارائه دهندگان هویت متفاوت پشتیبانی کنیم. به عنوان مثال، درخواستهای API را دریافت می کنیم و براساس نشانه دسترسی تولید شده توسط Auth0 انجام می دهیم. با این حال، ما می خواهیم مجوز API های دقیق را در داخل مدیریت کنیم و ما می خواهیم کنترل بیشتری بر چرخه عمر نشانه (مثلا، لغو سمت سرور مجاز).
Auth0 از ادعاهای سفارشی پشتیبانی می کند، اما این نیاز به اتصال بسیار نزدیک بین سرور ما و (و یا قوانین ما در سرور خود.) همچنین، این نیز نیاز مجبور به لغو مجوز را حل نمی کند.
این به نظر می رسد این نیاز را می توان با مبادله رمز دسترسی دسترسی Auth0 برای یک جدید نشانه دسترسی تولید شده توسط سرور ما، که می تواند ادعاهای مربوط به مجوز های پیکربندی کاربر / هویت را تزریق کند. این اجازه می دهد تا ما کنترل کنیم، به خوبی چیزی که ما در مورد نشانه می خواهیم، از جمله لغو آن است.
نگرانی ها
من تمیز کردن مشخصات OIDC و OAuth2 و جستجو برای دیگران با نیاز مشابه. عدم وجود هر گونه بازدیدها به من مربوط می شود.
آیا راه بهتر برای مدیریت مجوز داخلی وجود دارد، در حالیکه هنوز تأیید هویت را به یک ارائه دهنده مانند Auth0 منتقل می کند؟
آیا راهی بهتر برای لغو املایی وجود دارد تا تولید و ردیابی نشانه ها ؟ آیا امکان حفظ نشانه های بدون حقوق و حمایت از لغو در همان زمان وجود دارد؟ (اگر این برای یک پست SE خیلی زیاد است، این بخش را نادیده بگیرید.)