Native iOS (Objective-C) sample to work with SAML RHMAP Service connector.
Switch branches/tags
rh-release-99.99.0-rc1 release-87.87.0-rc1 release-13.18.0-rc1 release-10.18.0-rc2 release-10.18.0-rc1 release-9.18.0-rc1 release-8.18.0-rc1 release-4.6.5-rc4 release-4.6.5-rc3 release-4.6.5-rc2 release-4.6.5-rc1 release-4.6.2 release-4.6.2-rc1 release-4.6.0 release-4.6.0-rc5 release-4.6.0-rc4 release-4.6.0-rc3 release-4.6.0-rc2 release-4.6.0-rc1 release-4.6.0-er1 release-4.5.1 release-4.5.1-rc2 release-4.5.1-rc1 release-4.5.0 release-4.5.0-rc7 release-4.5.0-rc6 release-4.5.0-rc5 release-4.5.0-rc4 release-4.5.0-rc3 release-4.5.0-rc2 release-4.5.0-rc1 release-4.3.0-rc1 release-3.20.5-rc1 release-3.20.4 release-3.20.4-rc1 release-3.20.3 release-3.20.3-rc3 release-3.20.3-rc2 release-3.20.3-rc1 release-3.20.2 release-3.20.2-rc2 release-3.20.2-rc1 release-3.20.1 release-3.20.0 release-3.20.0-rc3 release-3.20.0-rc2 release-3.20.0-rc1 release-3.19.2 release-3.19.2-rc1 release-3.19.1 release-3.19.1-rc2 release-3.19.1-rc1 release-3.19.0 release-3.19.0-rc5 release-3.19.0-rc4 release-3.19.0-rc3 release-3.19.0-rc2 release-3.19.0-rc1 release-3.18.3 release-3.18.2 release-3.18.2-rc1 release-3.18.1 release-3.18.1-rc1 release-3.18.0 release-3.18.0-rc5 release-3.18.0-rc4 release-3.18.0-rc3 release-3.18.0-rc2 release-3.18.0-rc1 release-3.17.3 release-3.17.3-rc1 release-3.17.2 release-3.17.2-rc2 release-3.17.2-rc1 release-3.17.1 release-3.17.1-rc1 release-3.17.0 release-3.17.0-rc6 release-3.17.0-rc5 release-3.17.0-rc4 release-3.17.0-rc3 release-3.17.0-rc2 release-3.17.0-rc1 release-3.16.5-rc1 release-3.16.4 release-3.16.4-rc1 release-3.16.3 release-3.16.3-rc1 release-3.16.2 release-3.16.2-rc1 release-3.16.1-rc1 release-3.16.0 release-3.16.0-rc7 release-3.16.0-rc6 release-3.16.0-rc5 release-3.16.0-rc4 release-3.16.0-rc3 release-3.16.0-rc2 release-3.16.0-rc1 release-3.15.2
Nothing to show
Clone or download
Pull request Compare This branch is 85 commits ahead of corinnekrych:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
licenses
saml-ios-app.xcodeproj
saml-ios-app
.gitignore
CONTRIBUTING.md
Jenkinsfile
LICENSE
Podfile
README.md
circle.yml
fhconfig.plist

README.md

saml-ios-app

circle-ci

Swift version is available here.

Author: Corinne Krych
Level: Intermediate
Technologies: Objective-C, iOS, RHMAP, CocoaPods.
Summary: A demonstration of how to authenticate with SAML IdP with RHMAP.
Community Project : Feed Henry
Target Product: RHMAP
Product Versions: RHMAP 3.7.0+
Source: https://github.com/feedhenry-templates/saml-ios-app
Prerequisites: fh-ios-sdk: 5.+, Xcode: 9+, iOS SDK: iOS 9+, CocoaPods: 1.3.0+

What is it?

Simple native iOS app to work with SAML Service connector service in RHMAP. The user can login to the app using SAML authentication, user details available on SAML IdP are displayed once successfully logged in.To configure the service in your RHMAP platform read the SAML notes.

If you do not have access to a RHMAP instance, you can sign up for a free instance at https://openshift.feedhenry.com/.

How do I run it?

RHMAP Studio

This application and its cloud services are available as a project template in RHMAP as part of the "SAML Project" template.

Local Clone (ideal for Open Source Development)

If you wish to contribute to this template, the following information may be helpful; otherwise, RHMAP and its build facilities are the preferred solution.

Build instructions

  1. Clone this project
  2. Populate saml-ios-app/fhconfig.plist with your values as explained on section 2.1.4. Setup.
  3. Run pod install
  4. Open saml-ios-app.xcworkspace
  5. Run the project

How does it work?

Using FHCloudRequest

In this example we used FHCloudRequest to make request on the REST endpoint setup to deal with SAML authentication.

iOS9 and non TLS1.2 backend

If your RHMAP is deployed without TLS1.2 support, open as source saml-ios-app/saml-ios-app-Info.plist add the exception lines:

  <key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
  </dict>