پرش به مطلب اصلی

مرجع API احراز هویت

مرجع کامل اندپوینت‌های API احراز هویت.

آدرس پایه​

https://api.orcarail.com/api/v1

ثبت‌نام​

یک حساب کاربری جدید ثبت کنید.

POST /auth/email/register

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
emailstringبلهآدرس ایمیل کاربر
passwordstringبلهرمز عبور کاربر
firstNamestringخیرنام کاربر
lastNamestringخیرنام خانوادگی کاربر

پاسخ​

204 No Content

یک ایمیل تأیید به آدرس ایمیل واردشده فرستاده می‌شود.

تأیید ایمیل جدید​

پس از اینکه کاربر درخواست تغییر ایمیل داد، آدرس ایمیل جدید را تأیید کنید.

POST /auth/email/confirm/new

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
hashstringبلهتوکن تأیید از ایمیل

پاسخ​

204 No Content

ورود​

کاربر را احراز هویت کنید و توکن JWT دریافت کنید.

POST /auth/email/login

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
emailstringبلهآدرس ایمیل کاربر
passwordstringبلهرمز عبور کاربر

پاسخ​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "refresh_token_here",
"tokenExpires": 3600,
"user": {
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}

تأیید ایمیل​

آدرس ایمیل را با توکن تأیید، تأیید کنید.

POST /auth/email/confirm

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
hashstringبلهتوکن تأیید از ایمیل

پاسخ​

204 No Content

تازه‌سازی توکن​

با توکن تازه‌سازی یک توکن دسترسی جدید بگیرید.

POST /auth/refresh

احراز هویت​

  • توکن Bearer (JWT) — توکن تازه‌سازی لازم است

پاسخ​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "new_refresh_token_here",
"tokenExpires": 3600
}

دریافت کاربر فعلی​

اطلاعات کاربر احراز هویت‌شده را بگیرید.

GET /auth/me

احراز هویت​

  • توکن Bearer (JWT) — الزامی

پاسخ​

{
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"role": "user",
"status": "active",
"createdAt": "2024-01-01T00:00:00.000Z"
}

ویرایش کاربر فعلی​

اطلاعات کاربر احراز هویت‌شده را ویرایش کنید.

PATCH /auth/me

احراز هویت​

  • توکن Bearer (JWT) — الزامی

بدنه درخواست​

همه فیلدها اختیاری‌اند. فقط فیلدهایی را که باید تغییر کنند بفرستید.

پارامترنوعالزامیتوضیح
firstNamestringخیرنام جدید
lastNamestringخیرنام خانوادگی جدید
emailstringخیرایمیل جدید (نیازمند تأیید)

پاسخ​

{
"id": 1,
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Doe",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

خروج​

خارج شوید و نشست فعلی را باطل کنید.

POST /auth/logout

احراز هویت​

  • توکن Bearer (JWT) — الزامی

پاسخ​

204 No Content

حذف کاربر فعلی​

حساب کاربر احراز هویت‌شده را برای همیشه حذف کنید (حذف نرم).

DELETE /auth/me

احراز هویت​

  • توکن Bearer (JWT) — الزامی

پاسخ​

204 No Content

فراموشی رمز عبور​

ایمیل بازنشانی رمز عبور درخواست کنید.

POST /auth/forgot/password

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
emailstringبلهآدرس ایمیل کاربر

پاسخ​

204 No Content

یک ایمیل بازنشانی رمز عبور به آدرس واردشده فرستاده می‌شود.

بازنشانی رمز عبور​

رمز عبور را با توکن بازنشانی، بازنشانی کنید.

POST /auth/reset/password

احراز هویت​

  • لازم نیست

بدنه درخواست​

پارامترنوعالزامیتوضیح
hashstringبلهتوکن بازنشانی از ایمیل
passwordstringبلهرمز عبور جدید

پاسخ​

204 No Content

کدهای وضعیت​

کد وضعیتتوضیح
200موفق
204بدون محتوا
400درخواست نامعتبر
401احراز هویت نشده
404یافت نشد
500خطای داخلی سرور

قالب پاسخ خطا​

{
"statusCode": 400,
"message": "Invalid email or password",
"error": "Bad Request"
}

انقضای توکن​

  • توکن دسترسی: پس از ۱ ساعت (۳۶۰۰ ثانیه) منقضی می‌شود
  • توکن تازه‌سازی: پس از ۷ روز منقضی می‌شود

وقتی توکن منقضی شود، پاسخ 401 Unauthorized می‌گیرید. برای گرفتن توکن دسترسی جدید از اندپوینت تازه‌سازی توکن استفاده کنید.

همچنین ببینید​