Skip to content

الترجمة 🌍

ساهم في ترجمة هذه الصفحة أو تحسينها.

ساهم

المصادقة

للتفاعل مع الخادم، تحتاج واجهة CLI إلى مصادقة الطلبات باستخدام [مصادقة حامل] (https://swagger.io/docs/specification/authentication/bearer-authentication/). تدعم CLI المصادقة كمستخدم أو كحساب أو باستخدام رمز OIDC المميز.

كمستخدم

عند استخدام CLI محليًا على جهازك، نوصي بالمصادقة كمستخدم. للمصادقة كمستخدم، تحتاج إلى تشغيل الأمر التالي:

bash
tuist auth login

سينقلك الأمر عبر تدفق المصادقة المستند إلى الويب. بمجرد المصادقة، ستخزن CLI رمزًا مميزًا للتحديث طويل الأجل ورمز وصول قصير الأجل ضمن ~/.config/tuist/credentials. يمثل كل ملف في الدليل المجال الذي قمت بالمصادقة عليه، والذي يجب أن يكون افتراضيًا tuist.dev.json. المعلومات المخزنة في هذا الدليل حساسة، لذا تأكد من الحفاظ عليها آمنة.

ستبحث CLI تلقائيًا عن بيانات الاعتماد عند إجراء طلبات إلى الخادم. إذا انتهت صلاحية رمز الوصول، ستستخدم CLI رمز التحديث للحصول على رمز وصول جديد.

رموز OIDC

بالنسبة لبيئات CI التي تدعم OpenID Connect (OIDC)، يمكن ل Tuist المصادقة تلقائيًا دون الحاجة إلى إدارة أسرار طويلة الأمد. عند التشغيل في بيئة CI مدعومة، ستقوم CLI تلقائيًا باكتشاف موفر رمز OIDC المميز وتبادل الرمز المميز المقدم من CI برمز وصول Tuist.

موفرو CI المدعومون

  • إجراءات GitHub
  • سيركلسي
  • بيترايز

إعداد مصادقة OIDC

  1. قم بتوصيل مستودعك بـ Tuist: اتبع دليل

    تكامل GitHub لربط مستودع GitHub الخاص بك بمشروع Tuist الخاص بك.
  2. قم بتشغيل 'tuist auth login': في سير عمل CI الخاص بك، قم بتشغيل tuist auth login قبل أي أوامر تتطلب المصادقة. ستقوم CLI تلقائيًا باكتشاف بيئة CI والمصادقة باستخدام OIDC.

راجع دليل التكامل المستمر للاطلاع على أمثلة التكوين الخاصة بالموفر.

نطاقات الرمز المميز OIDC

يتم منح رموز OIDC الرموز المميزة ci مجموعة النطاق، والتي توفر الوصول إلى جميع المشاريع المتصلة بالمستودع. انظر [مجموعات النطاق] (#scope-groups) للحصول على تفاصيل حول ما يتضمنه النطاق ci.

المزايا الأمنية

تعد مصادقة OIDC أكثر أمانًا من الرموز المميزة طويلة الأجل للأسباب التالية:

  • لا توجد أسرار للتدوير أو الإدارة
  • الرموز قصيرة الأجل ومحددة النطاق لتشغيل سير العمل الفردي
  • ترتبط المصادقة بهوية المستودع الخاص بك

الرموز المميزة للحساب

بالنسبة لبيئات CI التي لا تدعم OIDC، أو عندما تحتاج إلى تحكم دقيق في الأذونات، يمكنك استخدام رموز الحساب. تسمح لك الرموز المميزة للحساب بتحديد النطاقات والمشاريع التي يمكن للرمز المميز الوصول إليها بالضبط.

إنشاء رمز مميز للحساب

bash
tuist account tokens create my-account \
  --scopes project:cache:read project:cache:write \
  --name ci-cache-token \
  --expires 1y

يقبل الأمر الخيارات التالية:

الخيارالوصف
--النطاقاتمطلوب. قائمة نطاقات مفصولة بفواصل لمنح الرمز المميز.
--الاسممطلوب. معرّف فريد للرمز المميز (من 1-32 حرفاً، أبجدي رقمي وواصلات وشرطات سفلية فقط).
-تنتهي صلاحيتهاختياري. متى يجب أن تنتهي صلاحية الرمز المميز. استخدم التنسيق مثل 30d (أيام)، أو 6m (أشهر)، أو 1y (سنوات). إذا لم يتم تحديد ذلك، لا تنتهي صلاحية الرمز المميز أبدًا.
-المشاريعقصر الرمز المميز على مقابض مشاريع محددة. يمكن للرمز المميز الوصول إلى جميع المشاريع إذا لم يتم تحديده.

النطاقات المتاحة

النطاقالوصف
الحساب: الأعضاء: قراءةقراءة أعضاء الحساب
الحساب: الأعضاء: الكتابةإدارة أعضاء الحساب
الحساب: السجل: قراءةالقراءة من سجل حزمة سويفت
الحساب: السجل: الكتابةالنشر في سجل حزم سويفت
المشروع:معاينات:قراءةتنزيل المعاينات
المشروع:معاينات:كتابةتحميل المعاينات
المشروع:المشرف:قراءةقراءة إعدادات المشروع
المشروع:المشرف:كتابةإدارة إعدادات المشروع
مشروع:ذاكرة التخزين المؤقت:قراءةتنزيل الثنائيات المخزنة مؤقتاً
مشروع:ذاكرة التخزين المؤقت:كتابةتحميل الثنائيات المخزنة مؤقتاً
المشروع:الحزم:قراءةعرض الحزم
المشروع:الحزم:كتابةتحميل الحزم
المشروع:الاختبارات:قراءةقراءة نتائج الاختبار
المشروع:الاختبارات:الكتابةتحميل نتائج الاختبار
المشروع:يبني:قراءةقراءة تحليلات البناء
المشروع:يبني:اكتبتحميل تحليلات بناء التحميل
المشروع:يعمل:قراءةتشغيل أمر القراءة
المشروع:يعمل:يكتبإنشاء وتحديث عمليات تشغيل الأوامر

مجموعات النطاق

توفر مجموعات النطاقات طريقة ملائمة لمنح نطاقات متعددة ذات صلة بمعرف واحد. عند استخدام مجموعة نطاقات، يتم توسيعها تلقائيًا لتشمل جميع النطاقات الفردية التي تحتويها.

مجموعة النطاقالنطاقات المضمنة
ciالمشروع:ذاكرة التخزين المؤقت:الكتابة ، المشروع:المعاينات:الكتابة ، المشروع:الحزم:الكتابة ، المشروع:الاختبارات:الكتابة ، المشروع:الإنشاءات:الكتابة ، المشروع:التشغيل:الكتابة

التكامل المستمر

بالنسبة لبيئات CI التي لا تدعم OIDC، يمكنك إنشاء رمز مميز للحساب باستخدام مجموعة النطاق ci لمصادقة عمليات سير عمل CI الخاصة بك:

bash
tuist account tokens create my-account --scopes ci --name ci

يؤدي هذا إلى إنشاء رمز مميز مع جميع النطاقات اللازمة لعمليات CI النموذجية (التخزين المؤقت، والمعاينات، والحزم، والاختبارات، والبناء، والتشغيل). قم بتخزين الرمز المميز الذي تم إنشاؤه كسر في بيئة CI الخاصة بك وقم بتعيينه كمتغير البيئة TUIST_TOKEN.

إدارة الرموز المميزة للحساب

لسرد جميع الرموز المميزة لحساب ما:

bash
tuist account tokens list my-account

لإلغاء رمز مميز بالاسم:

bash
tuist account tokens revoke my-account ci-cache-token

استخدام الرموز المميزة للحساب

من المتوقع أن يتم تعريف رموز الحساب كمتغير البيئة TUIST_TOKEN:

bash
export TUIST_TOKEN=your-account-token

متى يجب استخدام رموز الحساب

استخدم الرموز المميزة للحساب عند الحاجة:

  • المصادقة في بيئات CI التي لا تدعم OIDC
  • تحكم دقيق في العمليات التي يمكن أن يقوم بها الرمز المميز
  • رمز مميز يمكنه الوصول إلى مشاريع متعددة داخل الحساب
  • الرموز المميزة المحدودة زمنياً التي تنتهي صلاحيتها تلقائياً

Released under the MIT License.