LogoLogo
  • Platform Overview
  • 🗺️Guides
    • Getting Started
    • Users
      • Integrate the User SDK
      • Registration
      • Authentication
      • SDK Releases
      • API Reference
    • Entitlements
      • Administrative API
        • Integrating the Administrative API
        • Entitlement Definitions
        • Managing Entitlements Sets
        • Managing Entitlements Sequences
        • Managing User Entitlements
        • API Schema
      • End-user API
        • Integrate the Entitlements SDK
        • Redeeming Entitlements
        • Retrieving Entitlements
        • SDK Releases
        • API Reference
    • Sudos
      • Integrate the Sudo Profiles SDK
      • Sudo Entitlements
      • Manage Sudos
      • SDK Releases
      • API Reference
    • Telephony
      • Integrate the Telephony SDK
      • Manage Phone Numbers
      • Text Messaging
      • Voice Calling
      • Telephony Simulator
      • SDK Releases
      • API Reference
    • Email
      • Integrate the Email SDK
      • Email Entitlements
      • Manage Email Addresses
      • Sending & Receiving Email
      • Manage Email Folders
      • Draft Email Messages
      • Manage Email Address Blocklists
      • Email Address Public Information
      • Pagination
      • Caching
      • Configuration Data
      • Email Notifications
      • SDK Releases
      • API Reference
    • Decentralized Identity
      • Edge Agent
        • Relay SDK
          • Integrate the Relay SDK
          • Relay Entitlements
          • Manage Relay Postboxes
          • Manage Relay Messages
          • Receiving Messages
          • SDK Releases
        • Edge Agent SDK
          • Integrate the Edge Agent SDK
          • Agent Management
          • Manage Wallets
          • Establishing Connections
          • Manage Connections
          • Messaging
          • Manage DIDs
          • Accepting New Credentials
          • Manage Credentials
          • Present Credentials for Verification
          • Utilize Alternative Cryptography Providers
          • SDK Releases
          • Standards and Protocols
      • Cloud Agent
        • Cloud Agent Admin API
          • Integrate the Cloud Agent Admin API
          • Aries Interop Profile (AIP)
            • Connection Exchanges
            • Credential Exchanges
            • Proof Exchanges
          • Connections
          • Basic Messages
          • Credentials
            • Anoncreds Credentials
              • Schemas
              • Credential Definitions
            • W3C Credentials
          • Audit Logs
          • API Schema
          • Error Codes
          • Standards and Protocols
    • Virtual Cards
      • Integrate the Virtual Cards SDK
      • Virtual Cards Entitlements
      • Virtual Cards Transaction Velocity Constraints
      • Key Management
      • Manage Funding Sources
      • Manage Virtual Cards
      • Manage Transactions
      • Configuration Data
      • Pagination
      • Caching
      • SDK Releases
      • API Reference
    • Virtual Cards Simulator
      • Integrate the Virtual Cards Simulator SDK
      • Simulate Authorizations
      • Simulate Debits
      • Simulate Refunds
      • Simulate Reversals
      • Merchants and Currencies
      • SDK Releases
      • API Reference
    • Virtual Private Network
      • Integrate the VPN SDK
      • VPN Entitlements
      • Manage Servers
      • Manage Connection
      • Observe VPN Related Events
      • SDK Releases
      • API Reference
      • Frequently Asked Questions
    • Secure ID Verification
      • Integrate the Secure ID Verification SDK
      • List Supported Countries
      • Verify an Identity
      • Check Secure ID Verification Status
      • Use the Secure ID Verification Simulator
      • SDK Releases
      • API Reference
    • Password Manager
      • Integrate the Password Manager SDK
      • Accessing the Password Manager
      • Managing Password Vaults
      • Managing Password Vault Items
      • Vault Import and Export
      • Password Utilities
      • Password Manager Entitlements
      • Password Vault Security
      • SDK Releases
      • API Reference
    • Ad/Tracker Blocker
      • Integrate the Ad/Tracker Blocker SDK
      • Manage Rulesets
      • Blocking Ads and Trackers
      • Manage Exceptions
      • SDK Releases
      • API Reference
    • Site Reputation
      • Integrate the Site Reputation SDK
      • Use the Site Reputation SDK
      • SDK Releases
      • API Reference
  • 💡Concepts
    • Sudo Digital Identities
  • 🧱Development
    • Versioning
  • 🏢Administration
    • Admin Console Roles
  • ❓Get Help
    • Request a Demo
    • Report an Issue
Powered by GitBook
On this page
  • Prerequisites
  • Get Started
  • Integrate the iOS SDK
  • SDK Configuration
  • Integrate the Android SDK
  • SDK Configuration
  • Integrate the JS SDK
  • SDK Configuration
  1. Guides
  2. Users

Integrate the User SDK

Integrate the User SDK into your application

PreviousUsersNextRegistration

Last updated 1 year ago

Prerequisites

Get Started

Integrate the iOS SDK

To use User SDK in an iOS app you need to install SudoUser pod via CocoaPods.

Install CocoaPods by running the following command:

sudo gem install cocoapods

Initialize CocoaPods for your app project by running the following command from the project's root directory:

pod init

Open the created Podfile in a text editor and add SudoUser pod as a dependency to your app target.

target 'YOUR-APP-NAME' do
    use_frameworks!

    pod 'SudoUser'

    # other pods
end

Install pod dependencies by running the following command:

pod install --repo-update

SDK Configuration

Instantiating and initializing a client:

do {
    let client: SudoUserClient = try DefaultSudoUserClient(keyNamespace: "<your-application-name>")
catch let error {
    // Handle initialization error. An error might be thrown due to invalid
    // or missing confiugration file.
}

You only need one client instance for a given user per device. Instantiating multiple clients with the same configuration and using them at the same time may cause unexpected runtime errors to occur.

Integrate the Android SDK

To use User SDK in an Android app you need to add SudoUser library as a dependency to your project.

Edit the app module Gradle script (build.gradle) and add SudoUser library as a dependency.

dependencies {
    api 'com.sudoplatform:sudouser:$latest_version'
}

Edit AndroidManifest.xml to add the following app permissions:

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+   xmlns:tools="http://schemas.android.com/tools"
    package="com.sudoplatform.sampleapp">

+   <uses-permission android:name="android.permission.INTERNET" />
+   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+   <uses-permission android:name="android.permission.WAKE_LOCK" />
+   <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

+   <queries>
+       <intent>
+           <action android:name="android.intent.action.VIEW" />
+           <data android:scheme="https" />
+       </intent>
+       <intent>
+           <action android:name=
+               "android.support.customtabs.action.CustomTabsService" />
+       </intent>
+   </queries>

    <application
+       tools:replace="android:allowBackup"
+       android:allowBackup="false"

The Sudo Platform enforces that the client passes Google Play Integrity validation in order to successfully register a new user. A part of this validation is checking the attestation result is produced by an app/module that's signed by a known signing certificate. In order to pass this validation your signing certificate's fingerprint must be uploaded via the admin console.

To obtain the signing certificate's fingerprint, run the following command:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android | grep SHA256 | tr -d : | awk '{print($2)}' | xxd -r -p | base64

The output of the above command must be uploaded to the admin console (Settings -> Android Signing Certificate).

SDK Configuration

Instantiating and initializing a client:

val client = SudoUserClient.builder(appContext)
    .setNamespace("<your-application-name>")
    .build()

You only need one client instance for a given user per device. Instantiating multiple clients with the same configuration and using them at the same time may cause unexpected runtime errors to occur.

Integrate the JS SDK

To use the Sudo User SDK in a Web or Node.js project, you must add @sudoplatform/sudo-user as a dependency to your project.

yarn add '@sudoplatform/sudo-user'
# or
npm install --save '@sudoplatform/sudo-user'

SDK Configuration

Instantiating and initializing a client:

import { DefaultConfigurationManager } from '@sudoplatform/sudo-common'

// Set configuration (content of file downloaded in previous step) in the configuration manager
DefaultConfigurationManager.getInstance().setConfig(configJson)

// Instantiate and initialize the client
const client = new DefaultSudoUserClient()

Before starting to use SudoUserClient you must configure it using the configuration information provided to you for your instance of the Sudo Platform. and your project's SDK configuration file before proceeding.

The latest version of the SDK can be found at .

Before starting to use SudoUserClient you must configure it using the configuration information provided to you for your instance of the Sudo Platform. and your project's SDK configuration file before proceeding.

Before starting to use SudoUserClient you must configure it using the configuration information provided to you for your instance of the Sudo Platform. and your project's SDK configuration file before proceeding.

🗺️
SDK Releases
Complete the Getting Started Guide
Integrate the iOS SDK
Integrate the Android SDK
Integrate the JS SDK
Download
install
Download
install
Download
install