繁体   English   中英

如何使用 MVC 隐藏 url 中的请求参数字段?

[英]How can i hide the Request parameter fields in url using MVC?

我正在使用以下内容重定向并调用 api: 在我的操作方法中,我有以下内容:

        if (token != null)
        {            
           return Content($"https://localhost:1234/user/UserTokenLogin?token={myToken}");
        }

现在我可以在 url 中看到令牌。 有没有办法可以隐藏此参数字段但仍将其提取到目标 api 上?

您需要应用编码/解码程序。 我会给你一个 Base64 编码的例子,但如果你愿意,你可以找到更安全的算法。

public string Encode(string strToEncode)
{
    byte[] encodedVal = System.Text.Encoding.UTF8.GetBytes(strToEncode);
    return Convert.ToBase64String(encodedVal);
}

public string Decode(string strToDecode)
{
    byte[] decodedVal = Convert.FromBase64String(strToDecode);
    return System.Text.Encoding.UTF8.GetString(decodedVal);
}

然后你可以如下应用它。

if (token != null)
{  
  var encodedToken = Encode(myToken);          
  return Content($"https://localhost:1234/user/UserTokenLogin?token={encodedToken}");
}

public ActionResult UserTokenLogin(string token){
     var decodedToken = Decode(token);

     //do other stuff.
}

您可以使用 header 参数。 它通常用于 header。

Response.Headers.Add("AuthToken", "token");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM