[backend] Send CORS headers for WellKnownController and NodeInfoController
This commit is contained in:
parent
924153c809
commit
97df7ea5e6
3 changed files with 10 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
||||||
using Iceshrimp.Backend.Core.Configuration;
|
using Iceshrimp.Backend.Core.Configuration;
|
||||||
using Iceshrimp.Backend.Core.Federation.WebFinger;
|
using Iceshrimp.Backend.Core.Federation.WebFinger;
|
||||||
|
using Microsoft.AspNetCore.Cors;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
|
@ -8,6 +9,7 @@ namespace Iceshrimp.Backend.Controllers;
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Tags("Federation")]
|
[Tags("Federation")]
|
||||||
[Route("/nodeinfo")]
|
[Route("/nodeinfo")]
|
||||||
|
[EnableCors("well-known")]
|
||||||
public class NodeInfoController(IOptions<Config.InstanceSection> config) : Controller {
|
public class NodeInfoController(IOptions<Config.InstanceSection> config) : Controller {
|
||||||
[HttpGet("2.1")]
|
[HttpGet("2.1")]
|
||||||
[HttpGet("2.0")]
|
[HttpGet("2.0")]
|
||||||
|
|
|
@ -3,6 +3,7 @@ using Iceshrimp.Backend.Core.Configuration;
|
||||||
using Iceshrimp.Backend.Core.Database;
|
using Iceshrimp.Backend.Core.Database;
|
||||||
using Iceshrimp.Backend.Core.Database.Tables;
|
using Iceshrimp.Backend.Core.Database.Tables;
|
||||||
using Iceshrimp.Backend.Core.Federation.WebFinger;
|
using Iceshrimp.Backend.Core.Federation.WebFinger;
|
||||||
|
using Microsoft.AspNetCore.Cors;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
@ -12,6 +13,7 @@ namespace Iceshrimp.Backend.Controllers;
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Tags("Federation")]
|
[Tags("Federation")]
|
||||||
[Route("/.well-known")]
|
[Route("/.well-known")]
|
||||||
|
[EnableCors("well-known")]
|
||||||
public class WellKnownController(IOptions<Config.InstanceSection> config, DatabaseContext db) : Controller {
|
public class WellKnownController(IOptions<Config.InstanceSection> config, DatabaseContext db) : Controller {
|
||||||
[HttpGet("webfinger")]
|
[HttpGet("webfinger")]
|
||||||
[Produces("application/json")]
|
[Produces("application/json")]
|
||||||
|
|
|
@ -171,6 +171,12 @@ public static class ServiceExtensions {
|
||||||
|
|
||||||
public static void AddCorsPolicies(this IServiceCollection services) {
|
public static void AddCorsPolicies(this IServiceCollection services) {
|
||||||
services.AddCors(options => {
|
services.AddCors(options => {
|
||||||
|
options.AddPolicy("well-known", policy => {
|
||||||
|
policy.WithOrigins("*")
|
||||||
|
.WithMethods("GET")
|
||||||
|
.WithHeaders("Accept")
|
||||||
|
.WithExposedHeaders("Vary");
|
||||||
|
});
|
||||||
options.AddPolicy("drive", policy => {
|
options.AddPolicy("drive", policy => {
|
||||||
policy.WithOrigins("*")
|
policy.WithOrigins("*")
|
||||||
.WithMethods("GET", "HEAD");
|
.WithMethods("GET", "HEAD");
|
||||||
|
|
Loading…
Add table
Reference in a new issue