我正在我的 ASP.NET CORE WEB API + React 应用程序中实现刷新令牌,但我不知道如何使用另一个请求将此令牌发送回我的 API。
我的API 将refreshToken 作为HttpOnly cookie 添加到请求中。
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> GenerateToken([FromForm]LoginModel model)
{
var result = await _userService.GetTokenAsync(model);
SetRefreshTokenInCookie(result.RefreshToken);
return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)
private void SetRefreshTokenInCookie(string refreshToken)
{
var cookieOptions = new CookieOptions
{
HttpOnly = true,
Expires = DateTime.UtcNow.AddDays(10)
};
Response.Cookies.Append("refreshToken", refreshToken, cookieOptions);
}
Run Code Online (Sandbox Code Playgroud)
在我的 Chrome 开发工具中浏览“网络”时,我可以看到带有刷新令牌的 cookie。
但“应用程序”中没有cookie
并且下一个请求中也没有cookie。
我正在使用 axios 发送请求。如何在后端获取刷新令牌?
我正在尝试通过 docker-compose 命令设置rabbitmq 实例。
我的 docker 撰写 yaml
version: '3.8'
services:
rabbitmq:
image: rabbitmq:3-management
hostname: rabbit
container_name: 'rabbitmq'
volumes:
- ./etc/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
- ./data:/var/lib/rabbitmq/mnesia/rabbit@rabbit
- ./logs:/var/log/rabbitmq/log
- ./etc/ssl/CERT_LAB_CA.pem:/etc/rabbitmq/ssl/cacert.pem
- ./etc/ssl/CERT_LAB_RABBITMQ.pem:/etc/rabbitmq/ssl/cert.pem
- ./etc/ssl/KEY_LAB_RABBITMQ.pem:/etc/rabbitmq/ssl/key.pem
ports:
- 5672:5672
- 15672:15672
- 15671:15671
- 5671:5671
environment:
- RABBITMQ_DEFAULT_USER=secret
- RABBITMQ_DEFAULT_PASS=secret
Run Code Online (Sandbox Code Playgroud)
当我第一次运行 docker compose up 时,一切正常。但是当我添加队列并交换(从定义.json 加载)、关闭并删除容器并尝试再次 docker compose up 时,出现此错误
2022-09-29 13:32:09.522956+00:00 [notice] <0.44.0> Application mnesia exited with reason: stopped
2022-09-29 13:32:09.523096+00:00 [error] <0.229.0>
2022-09-29 13:32:09.523096+00:00 [error] <0.229.0> BOOT FAILED
2022-09-29 13:32:09.523096+00:00 [error] <0.229.0> =========== …
Run Code Online (Sandbox Code Playgroud)