تعرف على خيارات التصديق الخاصة بتطبيقات 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
) وإعادة التصديق.