asp.net Core 中模拟微信公众号文件验证

发布于:2023-09-16 ⋅ 阅读:(61) ⋅ 点赞:(0)

在微信公众号对接过程中,会存在添加域名校验的问题,微信要求下载相关txt到要目录来验证,但是这些文件文件名不一致,随机的,内容也是随机值,但是和文件名有一定关系,如果牵扯到经常要验证的,来回传文件比较麻烦,如果给用户自己上传文件的权限又不安全,于是就通过miniAPI来实现。

实现思路:拦截到MP_verify_开头的txt文件,截图后面部分,判断目录中存在不存在,存在则返回目录文件,不存在则创建文件,并将内容写入。

具体代码如下:

//微信公众号文件验证
app.MapGet("/MP_verify_{fileName}.txt", (HttpContext context, string fileName) => {

    var filePath = Path.Combine(AppContext.BaseDirectory,String.Format(@"MP_verify_{0}.txt",fileName));
    FileInfo fileInfo = new FileInfo(filePath);
    if (!fileInfo.Exists)
    {
        File.AppendAllText(filePath, fileName);
    }

    return Results.File(filePath);
});

通过以上代码即可模拟微信服务器文件请求验证,亲测可用!