您好,欢迎来到99网。
搜索
您的当前位置:首页Java微信授权登陆的实现示例

Java微信授权登陆的实现示例

来源:99网
Java微信授权登陆的实现⽰例

前提:

微信公众平台:注册微信认证的公众号也就是服务号 ,拥有跟⾼级权限的微信接⼝。(注册服务号需要⼀些企业信息,需⾃⼰或者公司解决)注: 2018年12⽉起 订阅号不能认证升级为服务号。但可以将你的订阅号迁移⾄另⼀个公众号,需300元费⽤。准备公众号的:APPID 与 APPSECRET

⼆、服务号注册成功后,如果项⽬也有服务号的公众号平台,跟项⽬负责⼈沟通将你个⼈的添加为服务号的管理找到左边导航栏最下⾯的 基本配置 进去, 记住公众号的 AppId 与 AppSevrect , 如果AppServret忘记了重置重新记住。

配置IP⽩名单,项⽬所处的IP配置进去,如拿⾃⼰的本机ip⽤于临时的配置上去,等项⽬上线重新配置IP。

然后微信登陆需要微信⽹页授权,在公众中⽹页授权需要配置⼀个域名,准备⼀个备案的域名,域名备案好⼤概需要20个⼯作⽇,如果没有可以下载 花⽣壳软件 新⼿注册 会送⼀个免费域名 可以⽤来做测试,如果有备案好的域名当然更好。没有备案的域名情况,⽤花⽣壳 内⽹穿透测试

⾃⼰注册 会送个免费的域名 然后花6块永久的内⽹穿透体验版 注册好后,内⽹穿透配置

配置好后可以诊断测试,确保配置的端⼝ 在运⾏中,如果是项⽬的端⼝项⽬要处于运⾏中状态,不然会连接失败

这些都没问题后回到 在公众号内的左边导航找到 公众号设置 ----- 功能设置 --- ⽹页授权域名 进⾏域名授权配置。

如果公众号登录授权给了第三⽅开发者来进⾏管理,则不必做任何设置,由第三⽅代替公众号实现⽹页授权即可⼆、记住是域名,不是URL。不需要带http。

⽂件放置项⽬的根⽬录或者webapp下,可以通过浏览器 域名/⽂件名.txt 访问⽂件内容,也可放置项⽬的⽬录下,访问时 域名/⽬录名/⽂件名这⾥你可能会遇见配置失败 报 找不到这个⽂件或时⽂件内容不匹配

注意看你是否放置根⽬录下,位置没错。项⽬是否有拦截了导致访问不到该⽂件以上都都弄好了开始我们重点编码。微信授权登陆流程:

登陆授权作⽤域分为两种:

⼀ 、静默登陆 scope参数值为 snsapi_base;只能获取到⽤户openid。好处是静默认证,⽆需⽤户⼿动点击认证按钮,感觉上像是直接进⼊⽹站⼀样。

⼆、 授权登陆 scope参数值为 snsapi_userinfo;可以获取到openid、昵称、头像、所在地等信息。需要⽤户⼿动点击认证按钮授权登陆步骤:

1、引导⽤户进⼊授权页⾯同意授权,获取code

2、通过code换取⽹页授权access_token(与基础⽀持中的access_token不同)和openid

3、通过⽹页授权access_token和openid获取⽤户基本信息⼀、 微信登陆触发按钮或图⽚链接

在⾸页准备⼀个按钮或者⼀个链接⽤来发起请求。

这⾥我们⽤⼀个链接做⽰例1.通过微信接⼝获取code参数下表:参数appidredirect_uriresponse_typescopestate

是否

说明必须是是是是否

公众号的唯⼀标识

授权后重定向的回调链接地址,请使⽤urlencode对链接进⾏处理返回类型,请填写code

应⽤授权作⽤域,snsapi_base (不弹出授权页⾯,直接跳转,只能获取⽤户openid),snsapi_userinfo (弹出授权页⾯,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要⽤户授权,也能获取其信息)重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节⽆论直接打开还是做页⾯302重定向时候,必须带此参数

#wechat_redirect是

code作为换取access_token的票据,每次⽤户授权带上的code将不⼀样,code只能使⽤⼀次,5分钟未被使⽤⾃动过期。Controller控制器:

微信⽤户授权确认登陆

第⼀步登录链接拼好后,在⼿机微信中打开,微信便会跳转到确认授权页⾯,点击确认授权即可。(这⼀步,不⽤开发者做处理!)⽤户同意授权,页⾯将跳转⾄ redirect_uri/?code=CODE&state=STATE。⼆、获取 openid请求与带携带参数

返回的数据字段

代码

三、获取⽤户信息请求与参数

返回的JSON数据及字段解释

代码:

最后的 回调请求 回授权成功页⾯

获取到⽤户信息可进⼀步进⾏业务处理,成功页⾯

结果图⾸页:

⽤户授权确定登陆:

授权成功:

到此这篇关于Java微信授权登陆的实现⽰例的⽂章就介绍到这了,更多相关Java微信授权登陆内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务