Learn About Authenticating an iOS Mobile App with Oracle Identity Cloud Service
Oracle Identity Cloud Service provides identity management, single sign-on, and identity governance for your applications. It also provides the security platform for Oracle Cloud, which lets you securely and easily access, develop, and deploy your applications. Oracle Identity Cloud Service can function as an identity provider, to centralize the authentication mechanism, handle all password management responsibilities, and provide single sign-on for your applications.
Architecture
The following architecture diagram shows how an iOS mobile application uses the SDK for iOS Applications to perform OpenID Connect authentication with Oracle Identity Cloud Service, based on the authorization code grant type.
![Description of ios-mobile-sdk-architecture.png follows Description of ios-mobile-sdk-architecture.png follows](img/ios-mobile-sdk-architecture.png)
Description of the illustration ios-mobile-sdk-architecture.png
The authorization code grant type consists of the following steps:
-
The user opens the app on a mobile device.
-
The app uses the SDK for iOS Applications to access Oracle Identity Cloud Service and get information about the authentication method.
-
The app forwards control to a mobile browser to authenticate with Oracle Identity Cloud Service.
-
Oracle Identity Cloud Service sends the sign-in page and the user submits credentials for validation. After the Open ID Connect authentication flow ends, Oracle Identity Cloud Service issues a token.
-
The mobile browser forwards control to the mobile app, and then closes.
-
The mobile app receives the issued token and uses the SDK to display user information on the mobile device.
About the Sample iOS Mobile App
To help you understand how to use the SDK for iOS Applications, you can use a sample iOS mobile application as a reference.
Instead of creating a mobile application from scratch, Oracle provides a sample application that you can integrate with Oracle Identity Cloud Service for authentication.
-
Web-views that are publicly accessible
-
Private web-views that verify the existence of an Oracle Identity Cloud Service user access token, in the session that the user has with the application
The sample application is based on Swift and uses the framework version of the SDK for iOS Applications.
You should not use the sample application for production purposes. It doesn't adhere to the iOS best practices, such as data handling, patterns, and security. The sole purpose of the sample application is to recommend an approach to integrate Oracle Identity Cloud Service with a custom application by using the SDK for iOS Applications.
Before You Begin
Before you begin development of your iOS mobile applications, ensure you have read these related design solutions:
About Required Services and Roles
An Oracle Identity Cloud Service administrator must be able to access the Oracle Identity Cloud Service console.
You must have the following roles:
Role | Required to... |
---|---|
User administrator |
Create users, create groups, and assign groups to users. |
Security administrator |
Access the Downloads page of the Oracle Identity Cloud Service console. From this page, you can download the SDK. |
Application administrator |
Manage applications in Oracle Identity Cloud Service, which includes registering the sample mobile app with Oracle Identity Cloud Service. |
See Learn how to get Oracle Cloud services for Oracle Solutions.