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)