仅在开发模式下返回“ GeneratePasswordResetTokenAsync”

问题描述 投票:0回答:1

我有ResetPassword方法,该方法使用GeneratePasswordResetTokenAsync创建令牌。我使用Postman测试我的API,并希望它在开发模式下返回令牌但是在生产环境中,我只想发送200 OK而不返回令牌。

在这种情况下如何注入环境依赖性?

c# asp.net-core asp.net-web-api development-environment production-environment
1个回答
0
投票

IWebHostEnvironment注入Controller / PageModel构造函数,并判断环境模式。您可以参考以下示例

 public class StudentsController : ControllerBase
{
    private readonly IWebHostEnvironment _env;
    public StudentsController(IWebHostEnvironment env)
    {
        _env = env;
    }

    public async Task<IActionResult> Get()
    {
        if(_env.EnvironmentName.Equals("Development"))
        {
            // creates a token using GeneratePasswordResetTokenAsync
        }

        else if(_env.EnvironmentName.Equals("Production "))
        {
            //send 200 OK
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.