تطوير تطبيق Java باستخدام Oracle Identity Cloud Service
التعرف على تدفق التصديق والتعرف على كيفية تنفيذ تطبيق عروض أسعار العملاء للتكامل مع Oracle Identity Cloud Service باستخدام بريمجات الخادم Java.
فهم تدفق التصديق
يصف تدفق العملية التالية الخطوات الموجودة في تدفق التصديق والاتصال بين مثال لتطبيق عروض أسعار العملاء (Oracle Identity Cloud Service).
-
يمكن للمستخدم الوصول إلى تطبيق عروض أسعار العملاء (
https://localhost:8181/cquotes) ثم النقر على دخول باستخدام Identity Cloud Service. -
يعمل تطبيق عروض أسعار العملاء على إعداد طلب رمز الصلاحية بالتنسيق التالي:
-
عنوان URL:
https://example.identity.oraclecloud.com/oauth2/v1/authorize?client_id=clientid&response_type=code&redirect_uri=https://localhost:8181/cquotes/return&scope=openid -
المعلمات:
-
client_id: معرف التطبيق الفريد لتسعيرات العميل المسجل في Oracle Identity Cloud Service. -
response_type: الاستجابة المتوقعة من Oracle Identity Cloud Service. في هذه الخطوة ، يكون رمز الاعتماد. -
redirect_uri: عنوان URL حيث يتم إرسال رمز الاعتماد بعد قيام المستخدم بإتمام التصديق والاعتماد مع Oracle Identity Cloud Service. -
scope: يتحكم في البيانات التي يستطيع تطبيق عروض أسعار العملاء الوصول إليها ومعالجتها نيابة عن المستخدم. نظرًا لاستخدام OpenID Connect ، فإن المجال هوopenid.
-
-
-
يقوم تطبيق عروض أسعار العملاء بإعادة توجيه المستخدم إلى عنوان URL لرمز اعتماد Oracle Identity Cloud Service الذي تم إنشاؤه في الخطوة 2.
-
يتلقى Oracle Identity Cloud Service طلب رمز الاعتماد من تطبيق عروض أسعار العملاء (المعرف بواسطة
client_id). -
يقوم Oracle Identity Cloud Service بالتحقق مما إذا كان المستخدم قد تمت مصادقته بالفعل أم لا. فإن كان الأمر كذلك ، فإن Oracle Identity Cloud Service يتخطى عملية الدخول. إذا لم يكن الأمر كذلك ، يبدأ Oracle Identity Cloud Service عملية الدخول ويعرض الصفحة دخول .
-
يقوم المستخدم بتقديم بيانات صلاحية الدخول إلى Oracle Identity Cloud Service للتدقيق. تقوم عملية دخول Oracle Identity Cloud Service بتطبيق نظام كلمة السر حتى تتم مراجعة بيانات صلاحية الدخول بنجاح.
-
في حالة نجاح عملية تسجيل الدخول ، يقوم Oracle Identity Cloud Service بإعادة توجيه المستخدم إلى تطبيق عروض أسعار العملاء باستخدام عنوان URL التالي لإعادة التوجيه:
-
عنوان URL:
-
https://localhost:8181/cquotes/return?code=code
-
-
المعامل:
-
code: رمز الاعتماد الذي تم تكوينه بواسطة Oracle Identity Cloud Service.
-
-
-
يتم من خلال تطبيق عروض أسعار العملاء استخراج رمز الاعتماد من الطلب.
-
يتصل تطبيق عروض أسعار العملاء مباشرة مع Oracle Identity Cloud Service لاستبدال رمز الاعتماد لمقطع وصول المستخدم باستخدام عنوان URL والعناوين التالية:
-
عنوان URL:
https://example.identity.oraclecloud.com/oauth2/v1/token?grant_type=authorization_code&code=code -
عناوين الطلب:
-
Authorization=Basic(client_id:client_secret، ترميز 64-bit) -
Accept=*/*
-
-
المعلمات:
-
grant_type: بما أنك تستخدمauthorization_codeلطلب مقطع وصول من Oracle Identity Cloud Service، يجب أن يكون نوع المنحauthorization_code. -
code: رمز الاعتماد الذي يتم استلامه من Oracle Identity Cloud Service، بعد تسجيل دخول المستخدم بنجاح.
-
-
قائمة العناوين:
-
الاعتماد:
client_idوclient_secretللتطبيق الموثوق به (مرمز 64-bit) بالصيغة:client_id:client_secret. -
قبول: نوع الاستجابة المتوقع لتطبيق عروض أسعار العملاء
.
-
-
-
يقوم Oracle Identity Cloud Service بالتحقق من الطلب وإرجاع مقطع ويب JSON (JWT) التالي إلى تطبيق عروض أسعار العملاء:
-
محتوى JWT:
-
access_token: يحتوي على معلومات حول المستخدم. يمكن لتطبيق تسعيرات العملاء استخدام هذا المقطع عند إجراء استدعاءات Oracle Identity Cloud Service API بالنيابة عن المستخدم. يعتمد محتوىaccess_tokenعلى المجال المطلوب أثناء عملية التصديق. -
id_token: المقطع الأساسي في اتصال OpenID ويتم استخدامه لاعتماد نقطة الانتهاء باستخدامscope=openid. يحتويid_tokenعلى معلومات التعريف (على سبيل المثال ، الاسم والبريد الإلكتروني) الخاصة بالمستخدم. ويمكن استخدام هذه المعلومات بواسطة تطبيق العميل للعديد من الأغراض ، بما في ذلك التحقق وعرض المحتوى. تشريعات (يتم التحقق منها بواسطة العميل على أساس توقيع موفر OpenID Connect) وتوضحid_tokenالتطبيق الذي قام المستخدم بالتصديق عليه ولها مقطع صالح.
-
-
-
يقوم تطبيق عروض أسعار العملاء بمعالجة مقطع JWT (
id_token)، ثم يقوم باستخراج بيانات المستخدم التي يتم إرجاعها بواسطة Oracle Identity Cloud Service، مثل الاسم والبريد الإلكتروني. -
يعرض تطبيق عروض أسعار العملاء الصفحة الرئيسية التي تحتوي على معلومات حول المستخدم ، مثل الاسم والبريد الإلكتروني.
فهم رمز تطبيق Java
يستخدم تطبيق مثال عروض أسعار العملاء تقنية بريمج الخادم.
-
com.example.servlet.AccessResourceServlet: بدء تدفق التصديق من خلال إعادة توجيه المستخدم إلى Oracle Identity Cloud Service لطلب رمز اعتماد. -
com.example.servlet.ReturnServlet: يعالج عنوان URL لإعادة التوجيه من Oracle Identity Cloud Service يتلقى رمز الاعتماد ، ويستخدم كلاسcom.example.utils.OICOAuthClientلتبادل رمز الصلاحية لمقطع الهوية ومقطع وصول. -
com.example.servlet.LogoutServlet: لإنهاء جلسة عمل مستخدم التطبيق ، دون تسجيل خروج المستخدم من Oracle Identity Cloud Service.
-
com.example.utils.OICOAuthClient: يقوم بإنشاء نقاط انتهاء عنوان URL لـ Oracle Identity Cloud Service REST API ، ويقوم بمعالجة الطلبات ، وتحليل استجابات Oracle Identity Cloud Service ، وإضافة معلومات المستخدم إلى جلسة عمل HTTP الخاصة بالتطبيق. -
com.example.utils.HttpUtil: يعالج اتصال HTTP مع نقاط انتهاء Oracle Identity Cloud Service REST API. يتم إجراء كل الاتصالات مباشرةً من طلب عروض أسعار العميل إلى Oracle Identity Cloud Service من خلال طبقةjava.net.HttpURLConnection.