微信oAuth错误码10003最速解法
服务号code两年没更新,最近花时间做了彻底重构,说白了差不多重新开发
填坑无数,信心上线后,点公号菜单跳页面时,遇到如下问题
redirect_uri域名与后台配置不一致,错误码:10003
OK,梳理一下,我的后台配置成啥了?(more)
看来多填个static造成了10003,也就是说去掉static才能消灭报错,合情合理。
static去掉不行么?
但微信要求的验证用txt只应该出现在static目录下,才符合Flask的初衷嘛
Flask框架建议使用static丢静态资源,算约定俗成;此外http服务根目录下的txt文件可以直接访问,严格意义上说,安全性存疑吧?
那么怎么解决最快呢?
别折腾Flask新增serve根目录下文件的问题(也即send_from_directory做个类似static目录)
也别从后端代码层面增加view了
这种简单体力劳动交给楼下前台nginx即可
注意 location /MP_verify_somthing.txt这条
把txt文件内容拿出来放在return 200之后即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
(venv)[py27@aqui-wechat uwsgi]$ cat /etc/nginx/conf.d/aqui_wechat_app.conf # # The default server # server { listen 80 default_server; server_name _; charset utf-8; client_max_body_size 20M; sendfile on; keepalive_timeout 30; keepalive_requests 10; large_client_header_buffers 8 32k; access_log /var/log/nginx/nginx_access.log main; error_log /var/log/nginx/nginx_error.log; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location /MP_verify_somthing.txt { default_type text/html; return 200 'axsXXXXXXXXXXZo'; } location /static { alias /path/to/static; } location / { include uwsgi_params; uwsgi_connect_timeout 30; uwsgi_read_timeout 30; uwsgi_pass unix:/path/to/unix/socket/uwsgi.sock; } } (venv)[py27@aqui-wechat uwsgi]$ |
后端代码不动,service nginx restart解决问题
相当于当client调用http根目录下xx.txt文件时,请求被nginx捕获,按location约定直接返回,通过微信平台验证。
文章的脚注信息由WordPress的wp-posturl插件自动生成