استفاده از Auth0 با Tauri – DEV Community
وقتی برای اولین بار به ادغام Auth0 با برنامه Tauri خود رفتم، راهنمای Electron Auth0 را دنبال کردم.
این رویکرد به شما می گوید که یک پنجره Electron دیگر ایجاد کنید و صفحه احراز هویت را در آن ارائه دهید. سپس برای رهگیری تغییر مسیر برگشت و استخراج کد از URL. من سعی میکردم این را با Tauri تطبیق دهم، اما به دیوار برخورد کردم: شما نمیتوانید پیمایشها را برای محتوای خارجی در Tauri رهگیری کنید. 1.3 یک را اضافه کرد on_navigation
کنترل کننده برای WindowBuilder
اما این فقط کار نمی کند، و AppHandle
از زمان بسته شدن ثبت شده قابل دسترسی نبود.
در این مرحله، من فقط باید از آن نسخه پشتیبان تهیه می کردم و نحوه انجام این کار را بدون تلاش برای بارگیری صفحه تأیید در WebView انجام دادم. بهترین روشها برای مدتی است که احراز هویت از طریق مرورگر را تشویق میکند. احراز هویت در مرورگر چند مزیت کلیدی دارد:
- این به کاربر اجازه می دهد تا برای ارائه دهندگان احراز هویت شخص ثالث مانند Google/Facebook مجدداً از حالت ورود به سیستم استفاده کند و به طور بالقوه نیاز آنها را به تایپ هر نام کاربری یا رمز عبور از بین می برد.
- این امنیت بهتری را برای کاربر فراهم میکند، زیرا نیازی به تایپ رمزهای عبور در یک برنامه ندارد، برنامهای که به طور بالقوه میتواند میزبان یک سایت مشابه باشد که به تازگی رمز عبور Google خود را دریافت میکند.
خوشبختانه به نظر می رسد انجام صحیح آن در اینجا نسبتاً ساده است.
به جای آن به مرورگر ارسال کنید
راهنما به شما می گوید که چگونه یک URL ورود به سیستم ایجاد کنید. به جای تلاش برای بارگیری آن، باید آن را به مرورگر پیش فرض تحویل دهیم. از JS شما می توانید از open از API پوسته استفاده کنید. از باطن می توانید از جعبه مرورگر وب استفاده کنید.
در عین حال، برنامه می تواند پیامی را نمایش دهد که از آنها می خواهد مرورگر خود را بررسی کنند و احراز هویت را در آنجا تکمیل کنند.
URL برگشتی
در عوض باید URL بازگشتی را بهروزرسانی کنید تا شما را به برنامه خود بازگرداند. این URI می تواند چیزی شبیه به این باشد myapp:auth
، جایی که myapp
پروتکل ثبت شده برنامه شما است.
1) URL بازگشتی تعبیه شده در URL auth را با تغییر پارامتر redirect_uri تغییر دهید.
2) پیکربندی Application را در Auth0 بهروزرسانی کنید تا URI پاسخگوی تماس جدید مجاز باشد.
پس از موفقیت آمیز بودن احراز هویت در مرورگر، فراخوانی می شود myapp:auth?code=abc...
، که می تواند برنامه انتظار شما را فعال کند.
کنترل کننده پروتکل
شما می توانید از جعبه tauri-plugin-deep-link برای ثبت برنامه خود به عنوان یک کنترل کننده پروتکل استفاده کنید. پس از دریافت کد، میتوانید آن را به همان روش راهنمای Electron با یک توکن تأیید اعتبار مبادله کنید، اما برای Rust میتوانید از reqwest برای تماس HTTP استفاده کنید.
اطلاعات کاربری را با جا کلیدی ذخیره کنید
می توانید ژتون را با جعبه جا کلیدی ذخیره کنید.
به روز رسانی نشانه مانند راهنمای رسمی کار می کند.