微信开发之token认证

简介: 服务器配置如下 package com.dongpeng; import java.security.MessageDigest;import java.util.Arrays; import javax.

服务器配置如下

package com.dongpeng;

import java.security.MessageDigest;
import java.util.Arrays;

import javax.servlet.http.HttpServletResponse;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@SpringBootApplication
public class Application {
    public static final String TOKEN = "lianghao_token";

    @RequestMapping("/")
    @ResponseBody
    public void index(String signature, String timestamp, String nonce, String echostr,HttpServletResponse response)throws Exception {
        System.out.println("signature:" + signature);
        System.out.println("timestamp:" + timestamp);
        System.out.println("nonce:" + nonce);
        System.out.println("echostr:" + echostr);
        System.out.println("TOKEN:" + TOKEN);
        String[] params = new String[] { TOKEN, timestamp, nonce };
        Arrays.sort(params);
        // 将三个参数字符串拼接成一个字符串进行sha1加密
        String clearText = params[0] + params[1] + params[2];
        String algorithm = "SHA-1";
        String sign = new String(org.apache.commons.codec.binary.Hex
                .encodeHex(MessageDigest.getInstance(algorithm).digest((clearText).getBytes()), true));
        // 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
        if (signature.equals(sign)) {
            response.getWriter().print(echostr);
        }
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

配置服务端后,提交下面信息

才能成功提交

相关文章
|
4月前
|
存储 JSON JavaScript
前后端分离项目知识汇总(微信扫码登录,手机验证码登录,JWT)-1
前后端分离项目知识汇总(微信扫码登录,手机验证码登录,JWT)
70 0
|
JSON API 数据安全/隐私保护
|
4月前
|
JSON 前端开发 安全
前后端分离项目知识汇总(微信扫码登录,手机验证码登录,JWT)-2
前后端分离项目知识汇总(微信扫码登录,手机验证码登录,JWT)
60 0
|
6月前
如何验证企业微信生成的token是否有效?
如何验证企业微信生成的token是否有效?
51 0
EMQ
|
10月前
|
JSON 安全 算法
深入解析 MQTT 中基于 Token 的认证和 OAuth 2.0
本文将深入了解基于 Token 的认证和 OAuth 2.0,阐述它们的原理并展示它们在 MQTT 中的应用。
EMQ
257 0
深入解析 MQTT 中基于 Token 的认证和 OAuth 2.0
|
存储 NoSQL 前端开发
gtoken替换jwt实现sso登录 | 排雷避坑
如果大家也想使用gtoken替换jwt实现sso登录,那么这篇文章可以减少很多大家debug的时间,分享一下我的踩坑之旅。
152 0
gtoken替换jwt实现sso登录 | 排雷避坑
|
存储 JSON 算法
【实践】手把手带你实现JWT登录鉴权
JWT的全称是JSON Web Token,他是一种基于JSON的用于在网络上声明某种主张的令牌(token)。JWT通常由三部分组成: 头信息(header), 载荷(payload):也就是消息体和签名(signature);他是一种用于身份提供者和服务提供者双方之间传递安全信息简洁的、URL安全的表述性声明规范。是一个为分布式应用环境间传递身份信息而执行的一种基于JSON的开放标准(RFC 7519),他定义了一种简洁的,自包含的方法用于通信双方之间以json对象的形式安全地传递信息。因为有数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或RSA的公私秘钥对其进行签名。
2450 0
|
前端开发
【在线教育项目】整合JWT权限校验,登录成功生成token
【在线教育项目】整合JWT权限校验,登录成功生成token
113 0
【在线教育项目】整合JWT权限校验,登录成功生成token
|
前端开发
前端工作总结165-token要登录之后才有
前端工作总结165-token要登录之后才有
50 0
前端工作总结165-token要登录之后才有
|
存储 JSON 算法
JWT 登录认证
分布式跨域认证的解决新方案
203 3
JWT 登录认证