internal OneSpanSign.Sdk.Authentication ToSDKAuthentication()
        {
            if (apiAuth == null)
            {
                return(sdkAuth);
            }

            string telephoneNumber = null;

            OneSpanSign.Sdk.Authentication sdkAuthentication = null;

            if (apiAuth.Challenges.Count == 0)
            {
                sdkAuthentication = new Authentication(new AuthenticationMethodConverter(apiAuth.Scheme).ToSDKAuthMethod());
            }
            else
            {
                IList <Challenge> sdkChallenges = new List <Challenge>();
                foreach (AuthChallenge apiChallenge in apiAuth.Challenges)
                {
                    if (AuthenticationMethod.CHALLENGE.getApiValue().Equals(apiAuth.Scheme))
                    {
                        sdkChallenges.Add(new ChallengeConverter(apiChallenge).ToSDKChallenge());
                    }
                    else
                    {
                        telephoneNumber = apiChallenge.Question;
                        break;
                    }
                }

                if (AuthenticationMethod.CHALLENGE.getApiValue().Equals(apiAuth.Scheme))
                {
                    sdkAuthentication = new OneSpanSign.Sdk.Authentication(sdkChallenges);
                }
                else
                {
                    sdkAuthentication = new OneSpanSign.Sdk.Authentication(telephoneNumber);
                }
            }

            return(sdkAuthentication);
        }
 public AuthenticationConverter(OneSpanSign.Sdk.Authentication sdkAuth)
 {
     this.sdkAuth = sdkAuth;
 }