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 Policy Security_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.