> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gorbit.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Google OAuth

> إعداد مصادقة Google OAuth

قم بتكوين Gorbit لاستخدام Google OAuth لمصادقة المستخدمين،
مما يوفر تجربة تسجيل دخول سلسة من خلال حسابات Google الحالية.

**المتطلبات الأساسية:**

* وصول إلى [Google Cloud Console](https://console.cloud.google.com/)
* أذونات إدارية لتكوين تطبيقات OAuth

## الدليل

<Steps>
  <Step title="إنشاء مشروع Google Cloud">
    انتقل إلى صفحة [إنشاء المشروع](https://console.cloud.google.com/projectcreate) في Google Cloud Console
    واملأ الحقول المطلوبة.

    <img className="rounded-image" src="https://mintcdn.com/gorbit/qYeWoSrsnkRPFQDm/assets/deployment/gcc_project_creation.png?fit=max&auto=format&n=qYeWoSrsnkRPFQDm&q=85&s=c6d7f7332c122c5979ab0226f8068302" alt="Google Cloud Console Project Creation Page" width="1094" height="960" data-path="assets/deployment/gcc_project_creation.png" />
  </Step>

  <Step title="تفعيل Google People API">
    انتقل إلى **APIs & Services** وابحث عن [Google People
    API](https://console.cloud.google.com/apis/library/people.googleapis.com).

    تأكد من أن مشروعك المنشأ حديثًا محدد في الشريط العلوي وانقر **Enable**.

    <img className="rounded-image" src="https://mintcdn.com/gorbit/qYeWoSrsnkRPFQDm/assets/deployment/gcc_people_api.png?fit=max&auto=format&n=qYeWoSrsnkRPFQDm&q=85&s=dc87af8036f8b46f172fe086881e8be0" alt="Google Cloud Console People API Enable Page" width="1246" height="628" data-path="assets/deployment/gcc_people_api.png" />
  </Step>

  <Step title="إنشاء منصة Google Auth">
    افتح الشريط الجانبي وانتقل إلى **APIs & Services** → **OAuth Consent Screen**.

    بمجرد الوصول إلى صفحة **Overview**، انقر **Get Started**.

    <img className="rounded-image" src="https://mintcdn.com/gorbit/qYeWoSrsnkRPFQDm/assets/deployment/gcc_oauth_consent.png?fit=max&auto=format&n=qYeWoSrsnkRPFQDm&q=85&s=4256a3dff3e833106bb0e687ced58132" alt="Google Cloud Console OAuth Consent Screen Page" width="1470" height="892" data-path="assets/deployment/gcc_oauth_consent.png" />
  </Step>

  <Step title="تكوين مشروع OAuth وشاشة الموافقة">
    املأ حقول **App name** و **User support email**.

    اختر **Audience**. إذا كان لديك منظمة Google Workspace، اختر **Internal**. إن لم يكن،
    اختر **External**.

    <Note>
      إذا اخترت **External**، ستحتاج إلى إضافة مستخدميك يدويًا في تبويب **Audience** تحت **Test users**.
    </Note>

    املأ أي حقول مطلوبة أخرى وأنهِ التكوين.
  </Step>

  <Step title="إنشاء عميل OAuth">
    انتقل إلى صفحة **APIs & Services** → **OAuth Consent Screen** → **Clients**.

    انقر **"+ Create Client"** واختر **Web Application**.

    <img className="rounded-image" src="https://mintcdn.com/gorbit/qYeWoSrsnkRPFQDm/assets/deployment/gcc_oauth_client.png?fit=max&auto=format&n=qYeWoSrsnkRPFQDm&q=85&s=91a8647bf078d09fe724f5ea0b2bbee2" alt="Google Cloud Console OAuth Client Creation Page" width="1918" height="600" data-path="assets/deployment/gcc_oauth_client.png" />
  </Step>

  <Step title="تكوين عميل OAuth">
    **الاسم:** `Gorbit`

    يعتمد **Authorized JavaScript origins** و **Authorized redirect URIs** على بيئة نشرك.

    إذا كنت تستضيف Gorbit محليًا استخدم:

    ```
    http://localhost:3000
    http://localhost:3000/auth/oauth/callback
    ```

    إذا كنت تستضيف Gorbit على نطاق مخصص استخدم:

    ```
    https://YOUR_GORBIT_DOMAIN.com
    https://YOUR_GORBIT_DOMAIN.com/auth/oauth/callback
    ```

    <img className="rounded-image" src="https://mintcdn.com/gorbit/qYeWoSrsnkRPFQDm/assets/deployment/gcc_oauth_client_details.png?fit=max&auto=format&n=qYeWoSrsnkRPFQDm&q=85&s=4797d5f4a049b9a6c67982a369facf68" alt="Google Cloud Console OAuth Client Creation Page" width="1918" height="1966" data-path="assets/deployment/gcc_oauth_client_details.png" />

    <Tip>
      تأكد أن عناوين URI التي تدخلها هنا تطابق URI الذي تستخدمه للوصول إلى Gorbit!
    </Tip>
  </Step>

  <Step title="حفظ بيانات اعتماد OAuth">
    انقر **Create** → **Download JSON** لحفظ بيانات اعتماد عميل OAuth. بدلاً من ذلك،
    احفظ **Client ID** و **Client Secret** في مدير كلمات مرور أو أسرار.
  </Step>

  <Step title="تكوين Gorbit">
    قم بتكوين Gorbit مع متغيرات البيئة التالية في ملف `.env` أو `values.yaml` (Docker و Kubernetes،
    على التوالي).

    ```bash .env theme={null}
    AUTH_TYPE=google_oauth
    OAUTH_CLIENT_ID=YOUR_CLIENT_ID
    OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET

    # إذا كنت تنشر على نطاق مخصص، ستحتاج إلى ضبط متغير البيئة `WEB_DOMAIN`.
    WEB_DOMAIN=https://YOUR_GORBIT_DOMAIN.com
    ```

    <Note>
      إذا كنت تستخدم Docker ولكن ليس لديك ملف `.env`،
      انسخ `gorbit/deployment/docker_compose/env.prod.template` إلى ملف `.env` جديد في نفس المجلد.
    </Note>

    ```bash values.yaml theme={null}
    auth:
      secrets:
        OAUTH_CLIENT_ID: <CLIENT_ID_FROM_GOOGLE>
        OAUTH_CLIENT_SECRET:<CLIENT_SECRET_FROM_GOOGLE>
    configMap:
      AUTH_TYPE: google_oauth
    ```
  </Step>
</Steps>
