Brands have the ability to configure multiple Consumer Identity Providers (know as - Authentication Server). SDK now supports consumer authentication based upon different brand identities information provided by the host application.

Supported versions

  • v6.12.0 and higher

How to enable

  • Account setup: Please reach out to LivePerson representative (other contact options: chat with us on this page, or message Support) to get it activated and configured.

Notes

  • The host app must supply an issuer display name into the authentication params if the default IDP is not used.
class LPAuthenticationParams: NSObject {
  var authenticationCode: String? // Code Flow authentication or PKCE code flow authentication
  var jwt: String? // Implicit Flow authentication
  var redirectURI: String? // Code Flow authentication
  var codeVerifier: String? // Used for PKCE code flow authentication
  var issuerDisplayName: String? //Used to specify IDP in Multiple IDP Scenerio. If not using MIDP leave blank. 
  var certPinningPublicKeys: [String]? //Cert pining validation public keys
  var type: LPAuthenticationType = .signup // User authentication type with "signup" as default
}

Code Samples - code flow

let authenticationParams = LPAuthenticationParams(authenticationCode: "authenticationCode_value",
                                                          jwt: nil,
                                                          codeVerifier: "codeVerifier_value",
                                                          redirectURI: "redirectURI_value",
                                                          issuerDisplayName: "issuer display name",
                                                          authenticationType: .authenticated)

// Presenting the conversation window. During open conversation and based on the value of mIssuerDisplayName, SDK will filter authenticated identity accordingly and perform authentication.
LPMessaging.instance.showConversation(conversationViewParams, authenticationParams: authenticationParams)

Code Samples - implicit flow

let authenticationParams = LPAuthenticationParams(authenticationCode: nil,
                                                          jwt: "jwt_value",
                                                          codeVerifier: nil,
                                                          redirectURI: nil,
                                                          issuerDisplayName: "issuer display name",
                                                          authenticationType: .authenticated)

// Presenting the conversation window. During open conversation and based on the value of mIssuerDisplayName, SDK will filter authenticated identity accordingly and perform authentication.
LPMessaging.instance.showConversation(conversationViewParams, authenticationParams: authenticationParams)