تعرف على خيارات التصديق الخاصة بتطبيقات Oracle Mobile Hub

يتيح لك Oracle Mobile Hub التصديق على التطبيقات النقالة باستخدام تقنيات مثل OAuth أو الدخول الموحد أو تصديق HTTP الأساسي.

قبل التصديق على تطبيقات iOS، يجب استيراد المكتبات التالية في مشروع XCode:

#import "OMCCore/OMCAuthorization.h"
#import "OMCCore/OMCMobileBackend.h"
#import "OMCCore/OMCMobileManager.h"

حول استخدام OAuth Consumer وHTTP Basic

يوفر Oracle Mobile Hub SDK أساليب لمعالجة تصديق المستخدم.

استخدم الأسلوب التالي لمعالجة تسجيل دخول مستخدم باسم مستخدم وكلمة سر:

- (void) authenticate:(NSString *)userName
             password:(NSString *)password
      completionBlock: (nullable OMCErrorCompletionBlock) completionBlock;

يقوم هذا الأسلوب بإنهاء الاتصال بـ Oracle Mobile Hub ومسح اسم المستخدم وكلمة السر من سلسلة مفاتيح iOS:

-(void) logout: (nullable OMCErrorCompletionBlock) completionBlock;

حول استخدام الدخول الموحد بمقطع الطرف الثالث

يمكنك استخدام مقطع الطرف الثالث للتصديق على تطبيق iOS باستخدام Oracle Mobile Hub.

أولاً، يحتاج التطبيق إلى الحصول على مقطع من جهة إصدار مقطع الطرف الثالث. تختلف طريقة الحصول على المقطع حسب جهة الإصدار.

بمجرد تعيين المقطع، استخدم المقطع للتصديق. يتم من خلال التعليمات البرمجية الموجودة في هذا المثال التحقق مما إذا كان المقطع مخزنًا بالفعل في Oracle Mobile Hub قبل الدخول مرة أخرى:

-(void) authenticateSSOTokenExchange: (NSString*) token
            storeAccessToken:(BOOL) storeToken
            completionBlock: (OMCErrorCompletionBlock) completionBlock;

ملاحظة:

وقت انتهاء الصلاحية الافتراضي لتخزين مقطع طرف ثالث في Oracle Mobile Hub هو 6 ساعات. يمكنك تعديل هذا الوقت بتغيير النظام Security_TokenExchangeTimeoutSecs.

يمكنك كذلك إنشاء تعليمات برمجية للتطبيق للاحتفاظ بالمستخدم الذي قام بالدخول، حتى عند إغلاق التطبيق وإعادة تشغيله.

في أسلوب authenticateSSOTokenExchange، إذا تم تعيين storeAccessToken إلى YES، يتم تخزين المقطع في مخزن آمن ويظل المستخدم مسجل الدخول حتى تنتهي صلاحية المقطع.

يمكنك استخدام أسلوب loadSSOTokenExchange() في تسلسل تشغيل التطبيق لتحميل المقطع من سلسلة المفاتيح. (في حالة تعذر استرجاع مقطع، يُرجع الأسلوب NO).

فيما يلي رمز ما يحاول تحميل مقطع محفوظ وإذا فشلت، فقم بإعادة بدء عملية التصديق:

OMCAuthorization* auth;
if ( [auth loadSSOTokenExchange] ){
	NSLog(@"## Token already found, login skipped.");
    ...
}
else{
	[auth authenticateSSOTokenExchange:thirdPartyToken
	 storeAccessToken:YES
	 completionBlock:^(NSError * _Nullable error) {
					   
	    if( error ){
	        //Show error popup
	    }
	    else{
	        // Login success.
	        ...
	    }
	}];
}

عندما يتم تخزين المقطع في المخزن الآمن، فإنه يظل مقترنًا بالخلفية التي تم استخدامها في الأصل. ومن ثم، في حالة تحديث التطبيق لاستخدام خلفية مختلفة للنقال (أو إصدار الخلفية المتحركة)، فستحتاج إلى مسح المقطع المحفوظ (باستخدام clearSSOTokenExchange) وإعادة التصديق.