Informationen zu Authentifizierungsoptionen für Ihre Oracle Mobile Hub-Anwendungen
Mit Oracle Mobile Hub können Sie Ihre mobilen Anwendungen mit Technologien wie OAuth, Single Sign-On oder HTTP-Basisauthentifizierung authentifizieren.
Vor der Authentifizierung Ihrer iOS-Anwendungen müssen Sie die folgenden Librarys in Ihr XCode-Projekt importieren:
#import "OMCCore/OMCAuthorization.h"
#import "OMCCore/OMCMobileBackend.h"
#import "OMCCore/OMCMobileManager.h"
Informationen zur Verwendung von OAuth Consumer und HTTP Basic
Oracle Mobile Hub SDK stellt Methoden zur Verarbeitung der Benutzerauthentifizierung bereit.
Verwenden Sie die folgende Methode, um eine Benutzeranmeldung mit einem Benutzernamen und Kennwort zu bearbeiten:
- (void) authenticate:(NSString *)userName
password:(NSString *)password
completionBlock: (nullable OMCErrorCompletionBlock) completionBlock;
Diese Methode beendet die Verbindung zu Oracle Mobile Hub und löscht den Benutzernamen und das Kennwort aus der iOS-Schlüsselkette:
-(void) logout: (nullable OMCErrorCompletionBlock) completionBlock;
Info zur Verwendung von Single Sign-On mit einem Drittanbietertoken
Sie können ein Token eines Drittanbieters verwenden, um Ihre iOS-Anwendung mit Oracle Mobile Hub zu authentifizieren.
Zunächst muss die Anwendung ein Token vom Aussteller des Drittanbietertokens abrufen. Die Art, in der Sie das Token abrufen können, variiert je nach Aussteller.
Wenn das Token vorhanden ist, verwenden Sie es für die Authentifizierung. Der Code in diesem Beispiel prüft, ob das Token bereits in Oracle Mobile Hub gespeichert ist, bevor Sie sich erneut anmelden:
-(void) authenticateSSOTokenExchange: (NSString*) token
storeAccessToken:(BOOL) storeToken
completionBlock: (OMCErrorCompletionBlock) completionBlock;
Hinweis:
Die Standardablaufzeit für die Speicherung eines Drittanbietertokens in Oracle Mobile Hub beträgt 6 Stunden. Sie können diese Zeit anpassen, indem Sie die PolicySecurity_TokenExchangeTimeoutSecs
ändern.
Außerdem können Sie die Anwendung so codieren, dass der Benutzer angemeldet bleibt, selbst wenn die Anwendung geschlossen und neu gestartet wird.
Wenn in der Methode authenticateSSOTokenExchange
storeAccessToken
auf YES
gesetzt ist, wird das Token im sicheren Speicher gespeichert und der Benutzer bleibt angemeldet, bis das Token abläuft.
Sie können die Methode loadSSOTokenExchange()
in der App-Startfolge verwenden, um das Token aus der Schlüsselkette zu laden. (Wenn ein Token nicht abgerufen werden kann, gibt die Methode NO
zurück.)
Im Folgenden finden Sie einen Code, der versucht, ein gespeichertes Token zu laden, und wenn es nicht erfolgreich ist, den Authentifizierungsprozess neu zu starten:
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.
...
}
}];
}
Wenn das Token im sicheren Speicher gespeichert ist, bleibt es mit dem Backend verknüpft, das die Anwendung ursprünglich verwendet hat. Wenn die Anwendung also mit einem anderen mobilen Backend (oder einer anderen mobilen Backend-Version) aktualisiert wurde, müssen Sie das gespeicherte Token (mit clearSSOTokenExchange
) löschen und erneut authentifizieren.