گزینههای برنامهنویسی — ورود با Gitrabbit
اگر توسعهدهندهٔ محصولی هستید که کاربران ایرانی دارد، میتوانید مانند «ورود با Google/GitHub» دکمهٔ ورود با Gitrabbit را اضافه کنید. پروتکل استاندارد OAuth 2.0 (Authorization Code) است.
۱. فعالسازی در داشبورد
- پس از ورود به گزینههای برنامهنویسی (/developer) بروید.
- سکشن «فعالسازی ورود با Gitrabbit» را روشن کنید.
- یک OAuth Application بسازید: نام، Redirect URIها (هر خط یک URI)، و در صورت تمایل آدرس سایت.
- client_id و client_secret را ذخیره کنید — secret فقط یکبار نمایش داده میشود.
۲. جریان OAuth برای کاربر نهایی
- کاربر روی «ورود با Gitrabbit» در سایت شما کلیک میکند.
- به صفحهٔ authorize هدایت میشود؛ در صورت نبودن session ابتدا وارد Gitrabbit میشود.
- صفحهٔ تأیید دسترسی (consent) — اپ، scopeها، تأیید یا انصراف.
- پس از تأیید، redirect به سایت شما با پارامتر
code. - سرور شما code را با token عوض میکند و در صورت نیاز userinfo میگیرد.
۳. اندپوینتها
Authorize (GET)
https://gitrabbit.ir/oauth/authorize?client_id=…&redirect_uri=…&response_type=code&scope=openid%20profile&state=…
Token (POST)
https://gitrabbit.ir/api/oauth/token
UserInfo (GET, Bearer)
https://gitrabbit.ir/api/oauth/userinfo
درخواست token (نمونه)
POST /api/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code &client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET &code=CODE_FROM_REDIRECT &redirect_uri=YOUR_REDIRECT_URI
Scopes
openid— شناسهٔ یکتا (sub)profile— username، نام نمایشی، آواتارemail— ایمیل در صورت ثبت در حساب
۴. امنیت
- Redirect URI باید دقیقاً با مقادیر ثبتشده در App مطابقت داشته باشد.
- از پارامتر
stateبرای جلوگیری از CSRF استفاده کنید. - PKCE (
code_challenge) اختیاری و برای اپهای public توصیه میشود. - client_secret را فقط روی سرور نگه دارید؛ هرگز در فرانتاند عمومی قرار ندهید.
۵. دکمه در سایت شما
<a href="https://gitrabbit.ir/oauth/authorize?client_id=CLIENT_ID&redirect_uri=ENCODED_URI&response_type=code&scope=openid%20profile&state=RANDOM"> ورود با Gitrabbit </a>