الوثائق
المصادقة
تسجيل الدخول إلى الحساب، والتسجيل، والاسترداد، والتحقق، والروابط السحرية، والبحث عن الجلسة، وتسجيل مفتاح المرور.
مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية
أرسل هذه الطلبات إلى السايدكار الخاصة بك. تبقى القيم في هذا المتصفح.
كيف يعمل هذا
يستمع السايدكار إلى منفذ الاسترجاع الذي تم اختياره عند بدء التشغيل ويطبعه في منفذ الاسترجاع الخاص به ready خط؛ استخدم عنوان URL هذا و CADCAMFUN_TOKEN لقد بدأ مع. تذهب الطلبات مباشرة من هذه الصفحة إلى هذا العنوان.
يرسل السايدكار رؤوس CORS فقط إلى أصول Tauri وإلى http://localhost أو http://127.0.0.1 على أي منفذ. من المستندات المستضافة، يحظر المتصفح الاستجابة، لذا قم بتشغيل المستندات محليًا (bun run dev في packages/web) لاستخدام الملعب، أو نسخ الطلب كحليقة. للتجربة دون لمس البيانات الحقيقية، ابدأ تشغيل السايدكار باستخدام CADCAMFUN_DATA_DIR أشار إلى دليل مهمل - انظر إرشادات واجهة برمجة التطبيقات.
العمليات
15 نقاط نهاية في auth المجموعة التي تم إنشاؤها من السايدكار مستند OpenAPI. تأخذ العمليات المحمية Authorization: Bearer $CADCAMFUN_TOKEN; يرى المصادقة. السلوك والحدود موجودة دليل النظام الفرعي.
| بريد | /api/auth/identity/start | auth.identityStart |
| بريد | /api/auth/identity/poll | auth.identityPoll |
| بريد | /api/auth/identity/cancel | auth.identityCancel |
| بريد | /api/auth/forgot-password | auth.forgotPassword |
| بريد | /api/auth/reset-password | auth.resetPassword |
| بريد | /api/auth/send-magic-link | auth.sendMagicLink |
| بريد | /api/auth/send-verification-email | auth.sendVerificationEmail |
| بريد | /api/auth/verify-email | auth.verifyEmail |
| بريد | /api/auth/signout | auth.signout |
| يحصل | /api/auth/get-session | auth.getSession |
| بريد | /api/auth/signin-direct | auth.signinDirect |
| بريد | /api/auth/signup | auth.signup |
| بريد | /api/auth/test-direct-create | auth.testDirectCreate |
| بريد | /api/auth/verify-magic-link | auth.verifyMagicLink |
| بريد | /api/auth/passkey-register | auth.registerPasskey |
/api/auth/identity
auth.identityStart يتطلب Authorization: Bearer <token>.
200 هدف application/json
{ id: string url: string issuer: string }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
جلب المثال
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/auth/identity/start`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/identity/start" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" جربه
auth.identityPoll يتطلب Authorization: Bearer <token>.
{ id: string }
200 كائن | كائن | هدف application/json
{ status: "pending" } | { status: "complete" tokens: { access: string refresh: string expiresAt: number | "Infinity" | "-Infinity" | "NaN" } } | { status: "failed" message: string }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
جلب المثال
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/auth/identity/poll`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/identity/poll" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
auth.identityCancel يتطلب Authorization: Bearer <token>.
{ id: string }
200 هدف application/json
{ success: true message: string }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
جلب المثال
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/auth/identity/cancel`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/identity/cancel" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/forgot-password
auth.forgotPassword يتطلب Authorization: Bearer <token>.
{ email?: string | null callbackURL?: string | null }
200 هدف application/json
{ success: true message: string debugResetLink?: string | null }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthForgotPasswordInput
const result = await client.auth.forgotPassword({
email: "",
callbackURL: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/forgot-password" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/reset-password
auth.resetPassword يتطلب Authorization: Bearer <token>.
{ token?: string | null newPassword?: string | null confirmPassword?: string | null }
200 هدف application/json
{ success: true message: string user: { id: string email: string name: string | null } }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 AuthNotFoundEncoded application/json
AuthNotFoundEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthResetPasswordInput
const result = await client.auth.resetPassword({
token: "",
newPassword: "",
confirmPassword: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/reset-password" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/send-magic-link
auth.sendMagicLink يتطلب Authorization: Bearer <token>.
{ email?: string | null callbackURL?: string | null }
200 هدف application/json
{ success: true message: string debugMagicLink?: string | null }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthSendMagicLinkInput
const result = await client.auth.sendMagicLink({
email: "",
callbackURL: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/send-magic-link" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/send-verification-email
auth.sendVerificationEmail يتطلب Authorization: Bearer <token>.
{ email?: string | null callbackURL?: string | null }
200 هدف application/json
{ success: true message: string debug: { link: string } }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 AuthNotFoundEncoded application/json
AuthNotFoundEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthSendVerificationEmailInput
const result = await client.auth.sendVerificationEmail({
email: "",
callbackURL: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/send-verification-email" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/verify-email
auth.verifyEmail يتطلب Authorization: Bearer <token>.
{ token?: string | null }
200 هدف application/json
{ success: true message: string user: { id: string email: string name: string | null emailVerified: string } }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 AuthNotFoundEncoded application/json
AuthNotFoundEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthVerifyEmailInput
const result = await client.auth.verifyEmail({
token: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/verify-email" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/signout
auth.signout يتطلب Authorization: Bearer <token>.
200 هدف application/json
{ success: true message: string }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.auth.signout() curl
curl --request POST "${CADCAMFUN_URL}/api/auth/signout" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" جربه
/api/auth/get-session
auth.getSession يتطلب Authorization: Bearer <token>.
200 هدف application/json
{ session: { user: { id: string email: string | null name: string | null emailVerified: string | null createdAt: string updatedAt: string } expires: string sessionToken?: string | null } }
401 AuthUnauthorizedEncoded | غير مصرح به مشفرة application/json
AuthUnauthorizedEncoded | UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
رد المثال تم الالتقاط · 200
{
"session": {
"user": {
"id": "c942817d-0162-4291-84ff-77321d387acc",
"email": "local@cadcamfun.local",
"name": "Local user",
"emailVerified": null,
"createdAt": "2026-10-15T04:52:06.538Z",
"updatedAt": "2026-10-15T04:52:06.538Z"
},
"expires": "2026-10-22T04:52:23.311Z"
}
} مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.auth.getSession() curl
curl --request GET "${CADCAMFUN_URL}/api/auth/get-session" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" جربه
/api/auth/signin-direct
auth.signinDirect يتطلب Authorization: Bearer <token>.
{ email?: string | null password?: string | null }
200 هدف application/json
{ success: true message: string user: { id: string email: string | null name: string | null emailVerified: string | null createdAt: string } token: string }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 AuthUnauthorizedEncoded | غير مصرح به مشفرة application/json
AuthUnauthorizedEncoded | UnauthorizedEncoded
404 AuthNotFoundEncoded application/json
AuthNotFoundEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthSigninDirectInput
const result = await client.auth.signinDirect({
email: "",
password: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/signin-direct" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/signup
auth.signup يتطلب Authorization: Bearer <token>.
{ email?: string | null password?: string | null confirmPassword?: string | null name?: string | null }
201 هدف application/json
{ success: true message: string user: { id: string email: string | null name: string | null emailVerified: string | null createdAt: string } }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthSignupInput
const result = await client.auth.signup({
email: "",
password: "",
confirmPassword: "",
name: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/signup" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/test-direct-create
auth.testDirectCreate يتطلب Authorization: Bearer <token>.
{ email?: string | null password?: string | null name?: string | null }
201 هدف application/json
{ success: true message: string user: { id: string email: string | null name: string | null emailVerified: string | null createdAt: string } }
400 TestCreateBadRequestEncoded application/json
TestCreateBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 TestCreateFailureEncoded application/json
TestCreateFailureEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthTestDirectCreateInput
const result = await client.auth.testDirectCreate({
email: "",
password: "",
name: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/test-direct-create" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/verify-magic-link
auth.verifyMagicLink يتطلب Authorization: Bearer <token>.
{ token?: string | null }
200 هدف application/json
{ success: true message: string user: { id: string email: string | null name: string | null } token?: string | null }
400 AuthBadRequestEncoded application/json
AuthBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 AuthNotFoundEncoded application/json
AuthNotFoundEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AuthVerifyMagicLinkInput
const result = await client.auth.verifyMagicLink({
token: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/auth/verify-magic-link" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json جربه
/api/auth/passkey-register
auth.registerPasskey يتطلب Authorization: Bearer <token>.
200 أي قيمة JSON application/json
unknown 401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AuthInternalEncoded application/json
AuthInternalEncoded
501 PasskeyNotImplementedEncoded application/json
PasskeyNotImplementedEncoded
مثال SDK
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.auth.registerPasskey() curl
curl --request POST "${CADCAMFUN_URL}/api/auth/passkey-register" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" جربه
المخططات
يمكن الوصول إلى المخططات المسماة من معلمات هذه المجموعة وأجسامها واستجاباتها. أ ? يمثل حقلاً اختياريًا؛ | null يضع علامة على الحقل الذي قد يكون موجودًا بقيمة فارغة.
AuthBadRequestEncoded{ _tag: "AuthBadRequest" error: string details: string }
AuthInternalEncoded{ _tag: "AuthInternal" error: string details: string }
AuthNotFoundEncoded{ _tag: "AuthNotFound" error: string details: string }
PasskeyNotImplementedEncoded{ _tag: "PasskeyNotImplemented" error: string details: string todoImplementation: { webauthn: string challengeGeneration: string credentialStorage: string userVerification: string } }
TestCreateBadRequestEncoded{ _tag: "TestCreateBadRequest" error: string }
TestCreateFailureEncoded{ _tag: "TestCreateFailure" error: string message: string }
استدعاء هذه المجموعة
معرفات العملية لها النموذج auth.<name>. وعد SDK الذي تم إنشاؤه (@cadcamfun/api/sdk) يعرض معظمهم client.<namespace>.<method>(input)، أين input هو كائن مسطح واحد من معلمات المسار وحقول النص؛ يُظهر مثال SDK لكل بطاقة الملحق الدقيق ونوع الإدخال. لا يتم إنشاء التحميلات متعددة الأجزاء والاستجابات الثنائية أو استجابات JavaScript وخطافات الويب الأولية؛ تظهر تلك البطاقات fetch بدلاً من ذلك.
import { CadCam, ClientError } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
try {
await client.projects.list()
} catch (error) {
if (error instanceof ClientError) {
// Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
} else {
// a declared error body: switch on error._tag
}
} استكشاف الأخطاء وإصلاحها
| أعراض | السبب المحتمل | يصلح |
|---|---|---|
| 401 في كل طلب | رمز مميز من إطلاق سابق، أو مفقود Bearer بادئة | يرسل Authorization: Bearer <token> بالرمز المميز الذي بدأت به السايدكار. |
| 400 قبل أن يحدث أي شيء | النص أو المعلمة لا يتطابقان مع المخطط | قارن الحمولة بمخطط الطلب الموجود على البطاقة. |
| 403 أو 404 لسجل يمكنك رؤيته في مكان آخر | حساب التمثيل يختلف | أرسل الحق x-session-tokenأو استخدم ملف التعريف المحلي الذي يملك السجل. |
| 409 | حالة متعارضة، مثل اسم مكرر أو رأس فرع قديم | أعد قراءة المورد وأعد المحاولة باستخدام البيانات الحالية. |
| جربه يقول "تم حظره بواسطة CORS" | يتم تقديم المستندات من أصل غير استرجاعي | قم بتشغيل المستندات محليًا أو انسخ الطلب كـ curly. |
| رفض اتصال | تم إعادة تشغيل السايدكار في منفذ جديد | قراءة المنفذ من الجديد ready سطر. |