100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信公众号网页授权域名和JS接口安全域名配置攻略

微信公众号网页授权域名和JS接口安全域名配置攻略

时间:2024-01-05 07:31:21

相关推荐

微信公众号网页授权域名和JS接口安全域名配置攻略

这篇博文跟大家分享下如何配置微信公众号网页授权域名和JS接口安全域名配置。

打开微信公众平台 https://mp./

登陆成功后进入微信公众平台后台管理,在最底部可以看到开发—》接口权限

我们可以看到正如下图所示有两个非常常用的接口:微信登陆和微信分享。

关于使用分享接口和不使用分享接口的例子如下图所示:

可以看出使用分享接口是会看起来更美观,用户体验更好。

接下来讲解下这方面的重点配置 网页授权域名和JS接口安全域名配置

我们在设置-------》公众号设置可以看到网页授权域名JS接口安全域名配置

在配置之前先来说下不配置会出现什么错误:

JS接口安全域名如果不配置或配置不正确,那么会提示 config:invalid signature

网页授权域名如果不通,那么将无法微信登陆成功。

如何配置这两部分呢?

在Spring Boot 中如果配置了拦截器,那么需要配置如下两处地方:

import com.xxxx.interceptor.MyTokenAuthorityInterceptor;import org.springframework.context.annotation.Configuration;import org.ponent;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;/*** @author qing-feng.zhao* @description 静态资源处理* @date /11/23 10:06*/@Component@Configurationpublic class StaticResourceConfig extends WebMvcConfigurationSupport {/*** 添加自定义拦截器*/private final MyTokenAuthorityInterceptor myTokenAuthorityInterceptor;public StaticResourceConfig(MyTokenAuthorityInterceptor myTokenAuthorityInterceptor) {this.myTokenAuthorityInterceptor = myTokenAuthorityInterceptor;}@Overrideprotected void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(myTokenAuthorityInterceptor).addPathPatterns("/**").excludePathPatterns("/swagger-ui.html/**").excludePathPatterns("/webjars/**").excludePathPatterns("/v2/**").excludePathPatterns("/swagger-resources/**").excludePathPatterns("/static/**").excludePathPatterns("/actuator/**").excludePathPatterns("/csrf/**").excludePathPatterns("/home-page.do").excludePathPatterns("/toLoginPage.do").excludePathPatterns("/read-api-page.do").excludePathPatterns("/csrf/**").excludePathPatterns("/csrf").excludePathPatterns("/MP_verify_oO9gqu9Pv8fY06o0.txt").excludePathPatterns("/").order(1);}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//自定义框架资源处理registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");//Swagger 静态资源处理registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");registry.addResourceHandler("/csrf/**").addResourceLocations("classpath:/META-INF/resources/webjars/");registry.addResourceHandler("/MP_verify_oO9gqu9Pv8fY06o0.txt").addResourceLocations("classpath:/MP_verify_oO9gqu9Pv8fY06o0.txt");}}

如果是纯静态页面,那么我们可以用Jetty .

之所以推荐使用Jetty 而不是tomcat 是因为Jetty 更加简单,不需要繁琐的配置环境变量,直接java -jar start.jar方式启动

Jetty 下载地址: /jetty/download.html

完事后我们需要在webapps 目录下创建一个ROOT文件夹,然后将MP_verify_********.txt 放进去。

这样才可以通过域名:/MP_verify_********.txt 访问,验证通过视为这个域名可以正常访问。

当然,Jetty 默认是8080端口,而这里的配置是不支持IP或端口号以及短链域名。

为了解决这个问题,我们可以通过nginx 设置请求转发。

比如 域名 80端口映射到这个端口上即可。

server {listen 80;server_name ;large_client_header_buffers 4 16k;client_max_body_size 300m;client_body_buffer_size 128k;proxy_connect_timeout 600;proxy_read_timeout 600;proxy_send_timeout 600;proxy_buffer_size 64k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;location ^~ / {proxy_redirect off;proxy_set_header x-real-ip $remote_addr;proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;proxy_set_header host $http_host;proxy_pass http://127.0.0.1:8085/;}}server {listen 80;server_name ;large_client_header_buffers 4 16k;client_max_body_size 300m;client_body_buffer_size 128k;proxy_connect_timeout 600;proxy_read_timeout 600;proxy_send_timeout 600;proxy_buffer_size 64k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;location ^~ /api/ {proxy_redirect off;proxy_set_header x-real-ip $remote_addr;proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;proxy_set_header host $http_host;proxy_pass http://127.0.0.1:8087/api/;}}

上面是HTML5映射,下面是Restful API 地址。

如果是请求 就将:80端口映射到 :8087/api/

如果是请求 就将:80端口映射到 :8085

最后按照JS-SDK 进行开发即可

https://developers./doc/offiaccount/OA_Web_Apps/JS-SDK.html

本篇完~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。