UsherAccountSDK

Language Language Version Xcode iOS

UsherAccountSDK is a library used for managing identities and connections for people and IoT devices.

Features

  • [x] Register
  • [x] Sign In / Sign Out / Biometric Login
  • [x] Get User / Update User / Check User Existence
  • [x] Change Password / Forgot Password / Reset Password / Password Validation
  • [x] Email / Mobile Verification
  • [x] IoT Device Management
  • [x] Send Device Enrollment OTP / Verify Device Enrollment OTP
  • [x] Secondary Device Owner Provisioning
  • [x] Comprehensive Unit and Integration Test Coverage
  • [x] Comprehensive Sample App
  • [x] SSL Certificate and Public Key Pinning

Requirements

  • iOS 9.0+
  • Xcode 9+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1+ is required to build UsherAccountSDK.

To integrate UsherAccountSDK into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/microstrategy-usher/CocoaPodSpecs.git'

platform :ios, '10.0'
use_frameworks!

workspace 'UsherSDKExample.xcworkspace'

target 'UsherSDKExamples' do

    project './UsherSDKExamples'

    pod 'UsherAccountSDK', :path => '../'

end

NOTE that the additional source https://github.com/microstrategy-usher/CocoaPodSpecs.git has to be specified to satisfy some of the UsherAccountSDK’s dependencies. Also UsherAccountSDK has a dependency on UsherCore which has been provided as part of the SDK package.

Then, run the following command:

$ pod install

Usage

Initialization

Session Management

  • Sign In
  • Biometric Sign In
  • Sign Out

User Management

  • Register
  • Fetch User Info
  • Update User Info

Password Management

  • Validate Password
  • Change Password
  • Forgot Password
  • Reset Password

Request OTP / Verify OTP

  • Request OTP
  • Verify OTP

IoT Device Management

  • Get Device List
  • Add Device to User
  • Update Device Info
  • Remove Device from User

Device Ownership & Access Management

  • Send Invitation
  • Request Access
  • Approve Access Request
  • Transfer Ownership
  • Revoke Access
  • Get Request List
  • Remove Request
  • Delink Device