diff --git a/DysonNetwork.Drive/Startup/ApplicationBuilderExtensions.cs b/DysonNetwork.Drive/Startup/ApplicationBuilderExtensions.cs
index 698dabee..ef2896bf 100644
--- a/DysonNetwork.Drive/Startup/ApplicationBuilderExtensions.cs
+++ b/DysonNetwork.Drive/Startup/ApplicationBuilderExtensions.cs
@@ -15,7 +15,6 @@ public static class ApplicationBuilderExtensions
app.UseSwaggerUI();
}
- app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
diff --git a/DysonNetwork.Pass/Client/public/favicon.ico b/DysonNetwork.Pass/Client/public/favicon.ico
deleted file mode 100644
index df36fcfb..00000000
Binary files a/DysonNetwork.Pass/Client/public/favicon.ico and /dev/null differ
diff --git a/DysonNetwork.Pass/Client/src/router/index.ts b/DysonNetwork.Pass/Client/src/router/index.ts
index 4e83c8cd..413ea9b9 100644
--- a/DysonNetwork.Pass/Client/src/router/index.ts
+++ b/DysonNetwork.Pass/Client/src/router/index.ts
@@ -8,6 +8,11 @@ const router = createRouter({
name: 'index',
component: () => import('../views/index.vue'),
},
+ {
+ path: '/captcha',
+ name: 'captcha',
+ component: () => import('../views/captcha.vue'),
+ }
],
})
diff --git a/DysonNetwork.Pass/Client/src/views/captcha.vue b/DysonNetwork.Pass/Client/src/views/captcha.vue
new file mode 100644
index 00000000..f30d4906
--- /dev/null
+++ b/DysonNetwork.Pass/Client/src/views/captcha.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
Captcha provider not configured correctly.
+
+
+
+
+
Solar Network Anti-Robot
+
+
+
+
+
+
+
diff --git a/DysonNetwork.Pass/DysonNetwork.Pass.csproj b/DysonNetwork.Pass/DysonNetwork.Pass.csproj
index b2d23cc4..872b9d31 100644
--- a/DysonNetwork.Pass/DysonNetwork.Pass.csproj
+++ b/DysonNetwork.Pass/DysonNetwork.Pass.csproj
@@ -149,6 +149,7 @@
+
diff --git a/DysonNetwork.Pass/Pages/Data/CaptchaPageData.cs b/DysonNetwork.Pass/Pages/Data/CaptchaPageData.cs
new file mode 100644
index 00000000..d9a382f0
--- /dev/null
+++ b/DysonNetwork.Pass/Pages/Data/CaptchaPageData.cs
@@ -0,0 +1,20 @@
+using DysonNetwork.Shared.PageData;
+
+namespace DysonNetwork.Pass.Pages.Data;
+
+public class CaptchaPageData(IConfiguration configuration) : IPageDataProvider
+{
+ public bool CanHandlePath(PathString path) => path == "/captcha";
+
+ public Task> GetAppDataAsync(HttpContext context)
+ {
+ var provider = configuration.GetSection("Captcha")["Provider"]?.ToLower();
+ var apiKey = configuration.GetSection("Captcha")["ApiKey"];
+
+ return Task.FromResult>(new Dictionary
+ {
+ ["Provider"] = provider,
+ ["ApiKey"] = apiKey
+ });
+ }
+}
\ No newline at end of file
diff --git a/DysonNetwork.Pass/Program.cs b/DysonNetwork.Pass/Program.cs
index e571f69a..2b32e215 100644
--- a/DysonNetwork.Pass/Program.cs
+++ b/DysonNetwork.Pass/Program.cs
@@ -34,6 +34,7 @@ builder.Services.AddAppBusinessServices(builder.Configuration);
builder.Services.AddAppScheduledJobs();
builder.Services.AddTransient();
+builder.Services.AddTransient();
var app = builder.Build();
diff --git a/DysonNetwork.Pass/Startup/ApplicationConfiguration.cs b/DysonNetwork.Pass/Startup/ApplicationConfiguration.cs
index da69c119..d9fa82ea 100644
--- a/DysonNetwork.Pass/Startup/ApplicationConfiguration.cs
+++ b/DysonNetwork.Pass/Startup/ApplicationConfiguration.cs
@@ -33,7 +33,6 @@ public static class ApplicationConfiguration
app.UseWebSockets();
app.UseRateLimiter();
- app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.UseMiddleware();
diff --git a/DysonNetwork.Pusher/Startup/ApplicationConfiguration.cs b/DysonNetwork.Pusher/Startup/ApplicationConfiguration.cs
index eacf9fa9..7dc3f30a 100644
--- a/DysonNetwork.Pusher/Startup/ApplicationConfiguration.cs
+++ b/DysonNetwork.Pusher/Startup/ApplicationConfiguration.cs
@@ -28,7 +28,6 @@ public static class ApplicationConfiguration
app.UseWebSockets();
app.UseRateLimiter();
- app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
diff --git a/DysonNetwork.Shared/Proto/GrpcClientHelper.cs b/DysonNetwork.Shared/Proto/GrpcClientHelper.cs
index 05b32135..172fe053 100644
--- a/DysonNetwork.Shared/Proto/GrpcClientHelper.cs
+++ b/DysonNetwork.Shared/Proto/GrpcClientHelper.cs
@@ -93,7 +93,7 @@ public static class GrpcClientHelper
string? clientCertPassword = null
)
{
- var url = await GetServiceUrlFromEtcd(etcdClient, "DysonNetwork.File");
+ var url = await GetServiceUrlFromEtcd(etcdClient, "DysonNetwork.Drive");
return new FileService.FileServiceClient(CreateCallInvoker(url, clientCertPath, clientKeyPath,
clientCertPassword));
}
@@ -105,7 +105,7 @@ public static class GrpcClientHelper
string? clientCertPassword = null
)
{
- var url = await GetServiceUrlFromEtcd(etcdClient, "DysonNetwork.FileReference");
+ var url = await GetServiceUrlFromEtcd(etcdClient, "DysonNetwork.Drive");
return new FileReferenceService.FileReferenceServiceClient(CreateCallInvoker(url, clientCertPath, clientKeyPath,
clientCertPassword));
}
diff --git a/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs b/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs
index ee62b912..32a5e2be 100644
--- a/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs
+++ b/DysonNetwork.Sphere/Startup/ApplicationConfiguration.cs
@@ -31,7 +31,6 @@ public static class ApplicationConfiguration
app.UseWebSockets();
app.UseRateLimiter();
- app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.UseMiddleware();