আমি .NET কোর 2.1 এ রয়েছি এবং আমি ভাল করেই জানি যে প্রশ্নটি কোর সম্পর্কে নয়। তবুও ইন্টারনেটের অভাব রয়েছে এবং গুগল আমাকে এখানে এনেছে যাতে কয়েক ঘন্টা বাঁচানোর আশায়।
Startup.cs
services.AddCors(o => o.AddPolicy("AllowAll", builder =>
{
builder
.WithOrigins("http://localhost:3000") // important
.AllowCredentials() // important
.AllowAnyMethod()
.AllowAnyHeader(); // obviously just for testing
}));
client.js
const resp = await fetch("https://localhost:5001/api/user", {
method: 'POST',
credentials: 'include', // important
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
Controllers/LoginController.cs
namespace WebServer.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
[HttpPost]
public IEnumerable<string> Post([FromBody]LoginForm lf)
{
string prevUsername = HttpContext.Session.GetString("username");
Console.WriteLine("Previous username: " + prevUsername);
HttpContext.Session.SetString("username", lf.username);
return new string[] { lf.username, lf.password };
}
}
}
লক্ষ্য করুন যে সেশন রাইটিং এবং রিডিং কাজ করে, তবুও কোনও কুকি ব্রাউজারে পৌঁছেছে বলে মনে হয় না। কমপক্ষে আমি "সেট-কুকি" শিরোনামটি কোথাও পাইনি।