Ejemplo n.º 1
0
        public HomeController()
        {
            //client= new IdentificationClient(Credentials.ClientId, Credentials.ClienttSecret,environment:IdentificationClient.Environment.TEST);
            client = new Idfy.RestClient.IdfyRestClientClient(Credentials.ClientId, Credentials.ClienttSecret);
            token  = client.Auth.Authorize(scopes: new List <OAuthScope>()
            {
                OAuthScope.IDENTIFY
            });

            cache = MemoryCache.Default;
            cache.Add("token", token, DateTimeOffset.FromUnixTimeSeconds(token.ExpiresIn.Value - 10));

            Idfy.RestClient.Configuration.OAuthTokenUpdateCallback = tokenUpdate;

            baseUrl = "https://localhost:44335";
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            var logger = new Serilog.LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .WriteTo.ColoredConsole()
                         .CreateLogger();

            Log.Logger = logger;
            OAuthToken token = null;


            IdfyRestClientClient client = new IdfyRestClientClient(Credentials.ClientId, Credentials.ClienttSecret);

            try
            {
                token = client.Auth.Authorize(scopes: new List <OAuthScope>()
                {
                    OAuthScope.DOCUMENT_FILE, OAuthScope.DOCUMENT_READ, OAuthScope.DOCUMENT_WRITE
                });
            }
            catch (OAuthProviderException e)
            {
                Console.WriteLine(e);
                Console.ReadLine();
                return;
            }

            IDocumentsController documents = client.Documents;

            CreateDocumentRequestWrapper request = new CreateDocumentRequestWrapper
            {
                Title       = "Test document",
                Description = "This is an important document",
                ExternalId  = Guid.NewGuid().ToString(),
                DataToSign  = new DataToSign
                {
                    Base64Content = Convert.ToBase64String(File.ReadAllBytes("test.pdf")),
                    FileName      = "test.pdf",
                    ConvertToPDF  = false,
                    Packaging     = new Packaging()
                    {
                        PadesSettings = new PadesSettings()
                        {
                            PrimaryLanguage   = PrimaryLanguage.NO,
                            SecondaryLanguage = SecondaryLanguage.EN
                        },
                        SignaturePackageFormats = new List <SignaturePackageFormat>()
                        {
                            SignaturePackageFormat.PADES
                        }
                    }
                },
                ContactDetails = new ContactDetails
                {
                    Email = "*****@*****.**",
                    Url   = "https://idfy.io"
                },
                Signers  = new List <SignerWrapper>(),
                Advanced = new Advanced
                {
                    Tags = new List <string> {
                        "develop", "fun_with_documents"
                    },
                    Attachments             = 0,
                    RequiredSignatures      = 0,
                    GetSocialSecurityNumber = false,
                    TimeToLive = new TimeToLive
                    {
                        Deadline         = DateTime.Now.AddDays(1),
                        DeleteAfterHours = 1
                    },
                }
            };

            SignerWrapper signer = new SignerWrapper
            {
                ExternalSignerId = Guid.NewGuid().ToString(),
                RedirectSettings = new RedirectSettings(),
                SignatureType    = new SignatureType(),
                Ui         = new UI(),
                Order      = 0,
                Required   = false,
                SignerInfo = new SignerInfo()
                {
                    FirstName = "Rune",
                    LastName  = "Synnevåg",
                    Email     = "*****@*****.**",
                    Mobile    = new Mobile()
                    {
                        CountryCode = "+47", Number = "99716935",
                    },
                },
                Notifications = new Notifications()
                {
                    Setup = new Setup()
                    {
                        SignatureReceipt = SignatureReceipt.SENDEMAIL,
                        Request          = Request.SENDBOTH,
                        Reminder         = Reminder.OFF,
                        FinalReceipt     = FinalReceipt.OFF,
                        Expired          = Expired.OFF,
                        Canceled         = Canceled.OFF,
                    },
                },
            };

            signer.RedirectSettings.RedirectMode = RedirectMode.DONOT_REDIRECT;
            signer.SignatureType.Mechanism       = Mechanism.PKISIGNATURE;
            signer.SignatureType.OnEacceptUseHandWrittenSignature = false;
            signer.Ui.Dialogs = new Dialogs
            {
                Before = new DialogBefore
                {
                    UseCheckBox = false,
                    Title       = "Info",
                    Message     = "Please read the contract on the next pages carefully. Pay some extra attention to paragraph 5."
                }
            };
            signer.Ui.Language = Language157.EN;
            signer.Ui.Styling  = new SignatureStyling
            {
                ColorTheme = ColorTheme.PINK,
                Spinner    = Spinner.CUBES
            };
            request.Signers.Add(signer);



            try
            {
                client.Auth.UpdateAccessToken(token);
                var result = documents.DocumentsCreateAsync(request).Result;

                Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(result, Formatting.Indented));

                Console.ReadLine();

                var signedDocument = documents.DocumentsGetAsync(result.DocumentId.Value).Result;

                Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(signedDocument, Formatting.Indented));
            }
            catch (APIException e)
            {
                Console.WriteLine(e);
            };



            Console.ReadLine();
        }