public async Task RequestNewRedirectUrlUsingSignerUrl()
        {
            ClientConfiguration clientConfiguration = null; //As initialized earlier
            Job job               = null;                   //As created earlier
            var directClient      = new DirectClient(clientConfiguration);
            var directJobResponse = await directClient.Create(job);

            // Step 1:
            foreach (var signer in directJobResponse.Signers)
            {
                //Persist signer URL in sender system
                var signerResponseSignerUrl = signer.SignerUrl;
            }

            // ... some time later ...

            // Step 2: Request new redirect URL for signer
            Uri persistedSignerUrl           = null; //Persisted URL from step 1.
            var signerWithUpdatedRedirectUrl = await directClient
                                               .RequestNewRedirectUrl(
                NewRedirectUrlRequest
                .FromSignerUrl(persistedSignerUrl)
                );

            var newRedirectUrl = signerWithUpdatedRedirectUrl.RedirectUrl;
        }
            public async Task Can_request_new_redirect_url()
            {
                var directClient = new DirectClient(GetClientConfiguration())
                {
                    HttpClient = GetHttpClientWithHandler(new FakeHttpClientHandlerForNewRedirectUrlResponse())
                };

                await directClient.RequestNewRedirectUrl(NewRedirectUrlRequest.FromSignerUrl(new Uri("http://someSignerUrl.no")));
            }
 public static List <SignerResponse> GetResponseSigners()
 {
     return(new List <SignerResponse>()
     {
         new SignerResponse(
             new PersonalIdentificationNumber("12345678910"),
             new Uri("http://responseurl.no"),
             NewRedirectUrlRequest.FromSignerUrl(new Uri("http://signerurl.no"))
             )
     });
 }
Пример #4
0
            public void Converts_direct_job_with_multiple_signers_successfully()
            {
                //Arrange
                const string pin         = "12345678910";
                const string signerUrl   = "https://api.signering.posten.no/api/123456789/direct/signature-jobs/1/signers/1";
                const string redirectUrl = "https://api.signering.posten.no/redirect/#/c316e5b62df86a5d80e517b3ff4532738a9e7e43d4ae6075d427b1b58355bc63";

                const string pin2         = "10987654321";
                const string signerUrl2   = "https://api.signering.posten.no/api/123456789/direct/signature-jobs/1/signers/2";
                const string redirectUrl2 = "https://api.signering.posten.no/redirect/#/sdflkj34kl2l34kjl234jkh2jhgj234gk5jln2n34gkj234hhjjlg234l34g234";

                var source = new directsignaturejobresponse
                {
                    signaturejobid = 1444,
                    reference      = "senders-reference",
                    redirecturl    = new[]
                    {
                        new signerspecificurl {
                            signer = pin, Value = redirectUrl
                        },
                        new signerspecificurl {
                            signer = pin2, Value = redirectUrl2
                        }
                    },
                    statusurl = "https://api.signering.posten.no/api/signature-jobs/1/status",
                    signer    = new[]
                    {
                        new directsignerresponse()
                        {
                            href            = signerUrl,
                            ItemElementName = ItemChoiceType1.personalidentificationnumber,
                            redirecturl     = redirectUrl,
                            Item            = pin,
                        },
                        new directsignerresponse()
                        {
                            href            = signerUrl2,
                            ItemElementName = ItemChoiceType1.personalidentificationnumber,
                            redirecturl     = redirectUrl2,
                            Item            = pin2,
                        }
                    }
                };

                var expected = new JobResponse(
                    source.signaturejobid,
                    source.reference,
                    new List <SignerResponse>()
                {
                    new SignerResponse(new PersonalIdentificationNumber(pin), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl))),
                    new SignerResponse(new PersonalIdentificationNumber(pin2), new Uri(redirectUrl2), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl2))),
                },
                    new StatusUrl(new Uri(source.statusurl))
                    );

                //Act
                var result = new JobResponse(source);

                //Assert
                var comparator = new Comparator();

                comparator.AreEqual(expected, result, out var differences);
                Assert.Empty(differences);
            }
        public void Create_from_identifier()
        {
            const string redirectUrl      = "http://example.com/redirect";
            const string customIdentifier = "Some Custom Identifier";
            const string signerUrl        = "http://example.com/signer/1";

            var source = new directsignerresponse
            {
                redirecturl     = redirectUrl,
                Item            = customIdentifier,
                ItemElementName = ItemChoiceType1.signeridentifier,
                href            = signerUrl
            };
            var expected = new SignerResponse(new CustomIdentifier(customIdentifier), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl)));

            var actual = new SignerResponse(source);

            Assert.Equal(expected, actual);
        }
        public void Create_from_personal_identification_number()
        {
            var redirectUrl = "http://example.com/redirect";
            var personalIdentificationNumber = "01013300001";
            var signerUrl = "http://example.com/signer/1";
            var source    = new directsignerresponse
            {
                redirecturl     = redirectUrl,
                Item            = personalIdentificationNumber,
                ItemElementName = ItemChoiceType1.personalidentificationnumber,
                href            = signerUrl
            };
            var expected = new SignerResponse(new PersonalIdentificationNumber(personalIdentificationNumber), new Uri(redirectUrl), NewRedirectUrlRequest.FromSignerUrl(new Uri(signerUrl)));

            var actual = new SignerResponse(source);

            Assert.Equal(expected, actual);
        }