1
zybzzc 2017-10-04 16:35:21 +08:00 via Android
参阅公众号开发文档微信网页授权一栏,具体做法是点击之后跳转到微信授权链接,用户授权后会自动重定向到授权链接接中的 redirect_url 并带上 code,浏览器拿到 code 之后传给服务器换取 accesstoken,到这里就算是授权成功了
|
2
Sikoay 2017-10-04 16:44:20 +08:00 via Android 1
PHP 我倒是自己二次封装了一版..
|
3
zybzzc 2017-10-04 16:44:40 +08:00 via Android 1
@zybzzc 需要说明的是,服务器用浏览器传过来的 code 向微信服务器换取到的 accesstoken 以及 openid 等不应该传回给客户端浏览器
|
4
jhdxr 2017-10-04 18:03:37 +08:00 1
微信授权有不同类别,有需要用户手动点击同意的,也有直接通过的,能访问到的信息不同,但都是 OAuth,跳到微信的一个网址即可。
php 的话我推荐 overture 的。。。Python 的。。。不知道,也许是个自己造轮子的机会? |
5
FullBridgeRect 2017-10-04 19:58:15 +08:00 via Android 1
@jhdxr python 有不止一个轮子,以关键词 django wechat 搜出来一堆结果😂
|
6
shiny 2017-10-04 20:03:45 +08:00 1
公众号内点底部链接的情况,如果是服务号
1. 已关注用户:可以直接获取 2. 未关注的情况下,如果要详细资料需要授权 3. 如果只获取 openid 来区分唯一用户不需要点击授权 如果是订阅号:不行,但你可以配置一个第三方的服务号,通过 unionid 关联到当前订阅号 造个轮子并不难,时间多的话可以试试,还是比较有乐趣的。 |
8
scriptB0y 2017-10-04 21:59:32 +08:00 1
做过一次 感觉轮子没啥用处…… 看不懂文档很多地方还是迷迷糊糊的,要给公账号设置一堆东西,文档不看这些东西就混了,文档能看明白 SDK 也没啥用了。
所以还是老老实实看文档,虽然文档确实屎一样…… 静下心来慢慢看 |
9
moooooo 2017-10-04 22:37:01 +08:00
你要的可能是一个单点登录系统...
|
10
moooooo 2017-10-04 22:41:44 +08:00 1
@moooooo 或者只是在微信客户端中打开你的网页,微信客户端打开的网页需要指明授权级别,基础授权和用户信息授权。
其中 用户信息授权会弹出一个是否信任该网页(类似的意思),选择了是那么你就可以使用微信给你的该账号与你的公众号绑定生成的 openId 你可以依据这个 openId + 应用 Token+AppId 可以获得用户的一些基本信息,包括但不限于微信头像和微信昵称等 |
11
chengxiao OP @scriptB0y 对的,就是文档迷迷糊糊的....好多地方摸不着头脑 公众号后面也要设置很多东西....另外这个该如何在本地调试呢?我看回调函数都要从固定域名发起.....
|
12
scriptB0y 2017-10-04 22:50:53 +08:00
@chengxiao 我是在 vps 上开发的…… 看有的人好像是申请两个微信号,一个测试用,设置 host,本地通过域名访问
|
13
loveCoding 2017-10-05 00:00:50 +08:00
先把逻辑理清楚 , 所谓微信登录其实只是借助微信验证用户合法性 主要流程如下:
网站->微信登录->成功->发放登录凭证(session/token) |
14
loveCoding 2017-10-05 00:03:12 +08:00
@chengxiao #11 反向代理 , 本地起一个 ngrok 或者 huashengke
|
15
bfbd 2017-10-06 09:52:32 +08:00
这儿有现成的:
https://github.com/aiportal/wechat-proxy 你所要做的仅仅是把用户的请求跳转到:/app/test/auth?call=...&state=&lang= call 参数就是你最终接收用户 openid 的网址。 |