initialize method

Future<void> initialize(
  1. String appId, {
  2. OtplessSslPinning sslPinning = OtplessSslPinning.disabled,
  3. String? loginUri,
  4. Map<OtplessConfigKey, String> config = const {},
})

Initialises the native OTPLESS SDK for appId.

sslPinning opts in to SSL certificate pinning of the OTPLESS backend on both Android and iOS. It defaults to OtplessSslPinning.disabled, so existing integrations see no behaviour change. With pinning enabled, a failed pin check surfaces as responseType: "FAILED", statusCode: 5004 in the response callback and no auth request is sent.

loginUri is the deep-link URI the native SDK returns to after OAuth channels. Defaults to null, in which case the SDK derives otpless.<appid>://otpless.

config carries optional SDK settings keyed by OtplessConfigKey. For example, {OtplessConfigKey.disableOtpAutoRead: "true"} turns off OTP auto-read on Android. Defaults to empty, which keeps native defaults.

Implementation

Future<void> initialize(
  String appId, {
  OtplessSslPinning sslPinning = OtplessSslPinning.disabled,
  String? loginUri,
  Map<OtplessConfigKey, String> config = const {},
}) async {
  await _otplessChannel.initialize(
    appId,
    sslPinning: sslPinning,
    loginUri: loginUri,
    config: config,
  );
}