اتصال آن چه کمکی به شما میکند
اتصال حساب کاربری Azure Static Web Apps خود به شما امکان میدهد از داشبورد Zinn® خود، یک وبسایت استاتیک را روی حساب کاربری Azure Static Web Apps خود منتشر کنید. مالکیت پروژه و صورتحساب با شماست؛ ما فرآیند استقرار، دامنه سفارشی و رکوردهای DNS را مدیریت میکنیم.
پیش از شروع
یک اشتراک Azure، یک گروه منابع برای وبسایتها و یک حساب کاربری متصل به GitHub، GitLab یا Bitbucket که حاوی کد باشد (زیرا Azure Static Web Apps از روی یک مخزن (repository) بیلد میگیرد). طرح رایگان Azure استفاده تجاری و دو دامنه سفارشی به ازای هر اپلیکیشن را مجاز میداند.
۱. ایجاد کلید در Azure Static Web Apps
Azure به این مورد یک service principal میگوید. در مرکز مدیریت Microsoft Entra، گزینه Entra ID → App registrations → New registration را باز کنید، یک نام به آن بدهید و آن را Register کنید. در صفحه نمای کلی اپلیکیشن، Application (client) ID و Directory (tenant) ID را کپی کنید. سپس گزینه Certificates & secrets → Client secrets → New client secret را باز کنید، یک مدت زمان انتخاب کرده و آن را Add کنید؛ بلافاصله مقدار راز (secret) را کپی کنید زیرا Azure آن را فقط یک بار نمایش میدهد.
در پورتال Azure، گروه منابعی را که میخواهید استفاده کنیم باز کنید، سپس به مسیر Access control (IAM) → Add → Add role assignment بروید. نقش Contributor را انتخاب کنید، آن را به User, group, or service principal اختصاص دهید، اپلیکیشن را با نام جستجو کرده و Review + assign را بزنید. نام گروه منابع و Subscription ID که متعلق به آن است را یادداشت کنید (در پورتال عبارت Subscriptions را جستجو کنید).
۲. اتصال آن در اینجا
گزینه Integrations را در داشبورد خود باز کرده و Connect an account را انتخاب کنید. گزینه Static hosting (Netlify, Vercel) را به عنوان گروه و Azure Static Web Apps را به عنوان حساب کاربری انتخاب کنید، فیلدهای Client ID، Client secret، Tenant ID، Subscription ID و Resource group را پر کرده و روی Connect account کلیک کنید.
ما مواردی را که جایگذاری (paste) میکنید پیش از ذخیرهسازی تست میکنیم. کلیدی که کار نکند هرگز ذخیره نمیشود و پیام خطا مشخص میکند چه مشکلی داشته است. کلیدی که کار کند در صندوق رازهای ما (secrets vault) — و هرگز در پایگاه داده ما — بهصورت رمزنگاریشده نگهداری میشود و دیگر هرگز نمایش داده نمیشود، حتی به شما.
چه اتفاقی در ادامه میافتد
- وقتی یک وبسایت استاتیک ایجاد یا جابهجا میکنید، این حساب کاربری به عنوان مقصد استقرار ظاهر میشود.
Azure Static Web Apps از روی یک مخزن بیلد میگیرد — راهی برای پذیرش بیلد آپلودشده ندارد — بنابراین کد وبسایت باید از یک مخزن متصل به GitHub، GitLab یا GitBucket (یا Bitbucket) تأمین شود. اگر هنوز موردی را متصل نکردهاید، ابتدا یکی را متصل کنید.
- ما سرویس را روی حساب کاربری شما ایجاد میکنیم، آن را به مخزن اشاره میدهیم، دامنه سفارشی شما را متصل میکنیم و استقرارها را راهاندازی میکنیم. صفحه دامنه، هر رکورد DNS را که Azure Static Web Apps نیاز دارد نمایش میدهد.
- استفاده و صورتحساب در حساب کاربری شماست و در داشبورد فروشنده خودتان قابل مشاهده است.
- یک دامنه ریشه (apex domain) توسط یک رکورد TXT و یک زیردامنه توسط CNAME آن تأیید میشود؛ صفحه دامنه نشان میدهد که دامنه شما به کدامیک نیاز دارد.
اگر متصل نشد
Azure از پذیرش service principal سر باز زد. یا راز کلاینت منقضی شده است — این اتفاق همیشه بر اساس مدت زمانی که انتخاب کردهاید رخ میدهد — یا اپلیکیشن دیگر دسترسی Contributor را روی گروه منابع ندارد. این دو پیام شبیه به هم هستند، بنابراین پیش از ایجاد یک راز جدید، انتساب نقش را بررسی کنید.
چیزی پیدا نشد. بررسی کنید که Subscription ID و Resource group همانهایی باشند که نقش را روی آنها اختصاص دادهاید، و Tenant ID همان دایرکتوریای باشد که اپلیکیشن در آن ثبت شده است.
پیام میدهد که کلید رد شده است. تقریباً همیشه یکی از این سه مورد است: یک فاصله (space) یا خط جدید که همراه با آن کپی شده است، کلیدی که منقضی شده است، یا کلیدی که پس از کپی کردن شما ابطال یا بازسازی شده است. یک کلید جدید ایجاد کرده و دوباره آن را جایگذاری کنید.
متصل میشود، اما بعداً در بخشی خطا رخ میدهد. کلید احراز هویت میشود اما فاقد مجوزی است که اقدام مورد نظر به آن نیاز دارد. کلید جدیدی با مجوزهای ذکر شده در بالا ایجاد کنید، سپس اتصال قبلی را قطع کرده و کلید جدید را متصل کنید.
قطع اتصال
گزینه Integrations را باز کنید، حساب کاربری را پیدا کرده و روی Disconnect کلیک کنید. این کار کلید ذخیرهشده را بلافاصله حذف میکند. هر چیزی که از آن استفاده میکرد، در اقدام بعدی متوقف میشود و صفحاتی که به آن وابسته بودند به جای خرابی خاموش، این موضوع را اعلام میکنند.
قطع اتصال، کارهایی را که قبلاً انجام شده است خنثی نمیکند — رکوردها، استقرارها یا تنظیماتی که روی حساب کاربری شما تغییر دادهایم به همان شکل باقی میمانند. اگر فکر میکنید ممکن است خود کلید افشا شده باشد، آن را در سمت فروشنده نیز ابطال کنید؛ قطع اتصال، نسخه ما را حذف میکند، نه نسخه آنها را.