الحصول على رمز وصول
الهدف
الحصول على رمز وصول OAuth2 من خدمة الهوية في Parsware لتتمكن من استدعاء واجهات برمجة المنصة أثناء التطوير.
المتطلبات المسبقة
- أن تكون خدمة الهوية قيد التشغيل ويمكن الوصول إليها (في التطوير المحلي تستمع على
http://localhost:5000). - أن تكون بيانات التطوير الأولية قد أُنشئت (تُنشأ تلقائيًا عند أول إقلاع): مستأجر
تطوير وحساب مسؤول (
admin@parsware.local). - عميل REST مثل
curl.
الخطوات
-
اطلب رمزًا من نقطة نهاية الرموز باستخدام عميل التطوير وبيانات اعتماد المسؤول المُنشأ ضمن البيانات الأولية:
curl -X POST http://localhost:5000/connect/token \-H "Content-Type: application/x-www-form-urlencoded" \-d "grant_type=password" \-d "username=admin@parsware.local" \-d "password=Passw0rd!" \-d "scope=profile roles parsware.api offline_access" \-d "client_id=parsware-dev-cli" \-d "client_secret=dev-cli-secret" -
اقرأ
access_tokenمن استجابة JSON. تتضمن الاستجابة أيضًاrefresh_token(لأنoffline_accessقد طُلب) وقيمةexpires_inبالثواني. -
استدعِ واجهة برمجة مع وضع الرمز في ترويسة
Authorization. وللتأكد من أن الرمز يعمل، استدعِ نقطة نهاية معلومات المستخدم:curl http://localhost:5000/connect/userinfo \-H "Authorization: Bearer <access_token>"تحدّد الاستجابة هوية المستخدم الذي سجّل الدخول (الموضوع، والاسم، والبريد الإلكتروني، والمستأجر).
ما يجري خلف الكواليس
تتحقق خدمة الهوية من كلمة مرور المسؤول، ثم تصدر رمز وصول JWT موقّعًا. والرمز موقّع (لا مشفّر)، لذا تتحقق منه أي خدمة في المنصة مباشرةً باستخدام مفاتيح التوقيع المنشورة من خدمة الهوية — فلا حاجة إلى استدعاء خدمة الهوية عند كل طلب.
استكشاف الأخطاء
-
invalid_grant— اسم المستخدم أو كلمة المرور خاطئ، أو أن الحساب مقفل بعد محاولات فاشلة متكررة. انتظر ثم أعد المحاولة، أو أعد تعيين كلمة المرور. -
invalid_client— لا يطابقclient_id/client_secretأي عميل مسجَّل. في التطوير، استخدمparsware-dev-cli/dev-cli-secret. -
invalid_scope— أحد النطاقات المطلوبة غير مسموح به لهذا العميل. اطلب فقطprofileوrolesوoffline_accessوparsware.api. -
رفض الاتصال — خدمة الهوية غير قيد التشغيل أو تعمل على منفذ مختلف.
-
الرمز لا يحمل سوى
mfa.enrol(وaudفيهparsware-mfa-enrolment) — الحساب حساب موظف بلا تطبيق مصادقة بعد. المصادقة الثنائية إلزامية للموظفين: سجّل واحداً (من الملف الشخصي، أوPOST /connect/mfa/enrolmentبهذا الرمز)، ثم اطلب مجدداً مع-d "mfa_code=<الأرقام الستة>". في النشر، المدير هو من يسمّيهPLATFORM_ADMIN_EMAILالخاص بالنشر، لاadmin@parsware.local.
سيناريوهات ذات صلة
- فحص مفاتيح JWKS التي تنشرها خدمة الهوية.
منحة كلمة المرور المعروضة هنا هي تسهيل خاص بالتطوير للحصول على رمز من سطر الأوامر. أما تسجيل الدخول التفاعلي الحقيقي فيستخدم تدفق رمز التفويض مع PKCE عبر Platform Shell.