首页 新闻 会员 周边

netcore webapi 项目,登录接口验证码校验问题

0
悬赏园豆:5 [已解决问题] 解决于 2022-11-09 19:05

  一个netcore webapi项目,登录时有图片验证码这个, 我在login.html登录页面直接<img src='http://a.com/api/code' />加载验证码,然后用ajax请求api/login登录接口。其中api/code接口用session缓存了验证码,在api/login去校验验证码时,session获取的值一直不对。调试发现每次的sessionid不一致。我ajax设置了withCredentials: true属性,api项目也启用了跨域请求。

想问下,这种项目,能用session校验验证码吗 ?如果能,该怎么去校验啊

尾随前行的主页 尾随前行 | 初学一级 | 园豆:0
提问于:2022-09-29 21:14
< >
分享
最佳答案
0

用 session 校验验证码是可以的,建议设置一下 cookie name

services.AddSession(
    options =>
    {
        options.IdleTimeout = TimeSpan.FromMinutes(15);
        options.Cookie.Name = ".Cnblogs.Session";
        options.Cookie.SameSite = SameSiteMode.Unspecified;
    });
收获园豆:5
dudu | 高人七级 |园豆:30874 | 2022-09-29 21:49

感谢大佬回答。

我这样试了还是不可以。

我api地址用localhost:1000,html地址用127.0.0.1,html页面加载了验证码后,调用校验验证码接口还是不匹配。

尾随前行 | 园豆:0 (初学一级) | 2022-09-30 02:23
其他回答(1)
0

api/code和api/login 是一个后端服务吗?

Adming | 园豆:119 (初学一级) | 2022-10-08 19:11

是同一个,我本地调试发现sessionid不一样。

验证码我是html上直接放在img图片的src上(api/code)

然后点击按钮时再用ajax去请求的验证接口。

支持(0) 反对(0) 尾随前行 | 园豆:0 (初学一级) | 2022-10-27 18:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册