Beispiel #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(
            IApplicationBuilder app,
            IHostingEnvironment env,
            ISigningKeyEncoder signingKeyEncoder,
            IOptions <HostOptions> hostOptions)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(context =>
            {
                var encodedSigningKey = context.Request.Path.Value.Substring(1);
                var signingKey        = signingKeyEncoder.Decode(encodedSigningKey);

                // TODO: Audit

                var appBase = new Uri(hostOptions.Value.App);

                var uriBuilder    = new UriBuilder();
                uriBuilder.Host   = appBase.Host;
                uriBuilder.Scheme = appBase.Scheme;
                uriBuilder.Port   = appBase.Port;
                uriBuilder.Path   = "sign";
                uriBuilder.Query  = $"email={signingKey.SignatoryEmail}&key={encodedSigningKey}";

                var redirectUrl = uriBuilder.ToString();
                context.Response.ContentType = "text/html";
                context.Response.WriteAsync($"<html><head><script>window.location.replace('{redirectUrl}');</script></head><body></body></html>");

                return(Task.CompletedTask);
            });
        }
Beispiel #2
0
 public SigningService(
     ISigningKeyEncoder signingKeyEncoder,
     IDocumentExportsFactory documentExportsFactory,
     ITemplateRepository templateRepository,
     ISigningRequestRepository signingRequestRepository,
     ISignatureImageRepository signatureImageRepository,
     ISigningNotifier signingNotifier,
     IOptions <HostOptions> hostOptions)
 {
     _signingKeyEncoder        = signingKeyEncoder;
     _documentExportsFactory   = documentExportsFactory;
     _templateRepository       = templateRepository;
     _signingRequestRepository = signingRequestRepository;
     _signatureImageRepository = signatureImageRepository;
     _signingNotifier          = signingNotifier;
     _hostOptions = hostOptions.Value;
 }