【问题标题】:Return "GeneratePasswordResetTokenAsync" only in development mode仅在开发模式下返回“GeneratePasswordResetTokenAsync”
【发布时间】:2020-08-14 13:04:33
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net-core asp.net-web-api development-environment production-environment


    【解决方案1】:

    在Controller /PageModel构造函数中注入IWebHostEnvironment,判断环境模式。你可以参考下面的例子

     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
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多