本项目仅支持php环境,其他后端语言不支持。将本项目部署到服务器上(demo目录内为应用请求端向代理端发起请求的例子,可删除)。
需要使用一个新域名(如:oauth.xx.com)解析到服务器公网ip上,此域名将作为微信授权登录的回调域名,修改web服务器配置:将新域名应用目录指定到该项目根目录,并重启web服务器。
访问 http://oauth.xx.com/login.php 输入用户名密码登录后台(用户名:admin 密码:123456)。点击“添加微信公众号授权登录域名验证文件内容”按钮,进入页面后,在输入框填写授权登录回调域名的验证文件(txt格式)的内容,然后点击“提交”按钮。成功提交后,点击页面中的“复制微信授权回调域名”按钮复制回调域名(oauth.xx.com)。
复制成功后,进入微信平台,在微信授权回调域名处填写复制的回调域名(oauth.xx.com)即可。
此时代理地址(get):http://oauth.xx.com/index.php 。
请求参数:
参数 | 解释 | 是否必须 | 备注 |
---|---|---|---|
app_id | 公众号id | 是 | |
scope | 微信登录授权作用域 | 是 | 可选值:"snsapi_base"或"snsapi_userinfo" |
redirect_uri | 授权回调地址 | 是 | 一般为发起授权登录的请求地址,需要用urlencode处理 |
proxy_scope | 代理操作作用域,用于判断获取code还是access_token | 否 | 可选值:"code"或"access_token",默认"code" |
app_secret | 公众号密钥 | 否 | 若proxy_scope为access_token,则此参数也需要 |
oauth_type | 授权类型,1:公众平台,2:开放平台 | 否 | 可选值:1或2,默认1 |
state | 重定向参数 | 否 |
根据请求地址及参数访问(使用header()函数)即可。若proxy_scope参数为"code",则返回的地址将会带有code和state参数。若proxy_scope参数为"access_token",则返回的地址将会带有access_token和openid参数。
获取code
获取access_token
<FilesMatch \.(json)$>
Order allow,deny
Deny from all
</FilesMatch>
location ~ .*\.(json)$ {
deny all
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型