Linux环境一键部署>>
Linux环境一键部署(需有登录经验),无需担心安装!!!
微信扫描二维码登录网站网站应用微信登录开发指南
微信扫码登录网站是微信开放平台下网站应用的接口实现的功能。微信开放平台的网址是
准备
网站应用微信登录是基于.0协议标准构建的微信.0授权登录系统。
在进行.0授权登录访问前,在微信开放平台注册一个开发者账号,有一个批准的网站申请,并获取对应的AppID和AppID。申请微信登录并通过审核后,即可开始接入流程。
授权流程说明
.0 授权登录允许微信用户使用微信 ID 安全地登录第三方应用程序或网站。微信用户授权登录第三方应用访问微信.0后,第三方可以获取用户的接口调用凭证( )。可以调用微信开放平台的授权关系接口,获取微信用户的基本开放信息,帮助用户实现基本的开放功能。
.0授权登录目前支持该模式,适用于拥有端应用授权。该模式的总体流程是:
1. 第三方发起微信授权登录请求。微信用户允许第三方应用授权后颓废的城市剪影笔刷,微信将使用授权临时票的code参数启动应用或重定向到第三方网站;2.通过代码参数加上AppID等通过API进行交换;3. 通过接口调用,可以获取用户的基本数据资源或帮助用户实现基本操作。
获取时序图:
第 1 步:请求代码
在第三方使用网站应用授权登录之前,请注意已经获取了相应的网页授权范围(scope=)。您可以在PC端打开以下链接:
如果提示“此链接无法访问”,请检查参数是否填写错误,如域名与审核时填写的授权域名不一致或范围无效等。
参数说明
是否必须指定参数
应用程序
是的
应用程序唯一 ID
是的
重定向地址,需要做
是的
填写代码
范围
是的
申请授权范围。有多个用逗号 (,) 分隔的范围。目前只能填写Web应用程序。
状态
不
用于维护请求和回调的状态,请求被授权后,原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击)。建议第三方自带这个参数,可以设置成简单的随机数进行验证。
返回说明
用户允许授权后,会重定向到带有code和state参数的URL
?代码=代码&状态=状态
如果用户禁止授权,重定向后不带code参数,只带state参数
?状态=状态
请求示例
登录一号店网站申请
打开后,一号店会生成状态参数,跳转到
微信用户用微信扫描二维码确认登录后,PC端会跳转到
为了满足网站更多的定制化需求微信狼王授权码注册机,我们还提供了第二种获取码的方式,支持网站将微信登录二维码嵌入到自己的页面中,用户使用微信扫码授权并通过 JS 将代码返回给网站。
JS微信登录的主要目的:网站希望用户可以在网站内完成登录,无需跳转到微信域登录再返回,提高微信登录的流畅度和成功率。网站嵌入二维码微信登录JS实现方法:
Step 1:在页面中引入如下JS文件(支持https): Step 2:在需要用微信登录的地方实例化如下JS对象:
var obj = new WxLogin({
id:"login_container",
appid: "",
scope: "",
redirect_uri: "",
state: "",
style: "",
href: ""
});
参数说明
是否必须指定参数
ID
是的
第三方页面显示二维码的容器id
应用程序
是的
申请的唯一标识,申请提交并通过微信开放平台审核后获得
范围
是的
申请授权范围。有多个用逗号 (,) 分隔的范围。目前只能填写Web应用程序。
是的
重定向地址,需要做
状态
不
用于维护请求和回调的状态,请求被授权后,原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击)。建议第三方自带这个参数,可以设置成简单的随机数进行验证。
风格
不
提供“黑色”、“白色”可选,默认为黑色文字说明。请参阅文档底部的常见问题解答
链接
不
自定义样式链接,第三方可根据实际需要覆盖默认样式。请参阅文档底部的常见问题解答
第 2 步:通过代码
通过代码获取
参数说明
是否必须指定参数
应用程序
是的
申请的唯一标识,申请提交并通过微信开放平台审核后获得
是的
申请提交微信开放平台审核通过后获取申请密钥
代码
是的
填写第一步得到的code参数
是的
充满
返回说明
正确返回:
{
"":"",
"":7200,
"":"",
"":"",
“范围”:“范围”
}
参数说明
API 调用凭证
接口调用凭证超时时间,单位(秒)
用户刷新
授权用户唯一 ID
范围
用户授权范围,以逗号 (,) 分隔
错误返回示例:
{"":40029,"":"代码"}
刷新过期日期
是调用授权关系接口的调用凭证。由于有效期较短(目前为2小时),超时后可以刷新。有两种类型的刷新结果:
1. 如果已经超时,进度会得到一个新的,新的超时;2. 如果还没有超时,进度不会改变,但是会刷新超时,相当于续约。
有效期较长(30天),到期后需要用户重新授权。
请求方法
获取第一步的代码后,请求以下链接继续:
参数说明
是否必须指定参数
应用程序
是的
应用程序唯一 ID
是的
充满
是的
填写得到的参数
返回说明
正确返回:
{
"":"",
"":7200,
"":"",
"":"",
“范围”:“范围”
}
参数说明
API 调用凭证
接口调用凭证超时时间,单位(秒)
用户刷新
授权用户唯一 ID
范围
用户授权范围微信狼王授权码注册机,以逗号 (,) 分隔
错误返回示例:
{"":40030,"":""}
第三步:通过调用接口
获取后,在满足以下前提条件下进行接口调用:
1. 有效且未超时;2.微信用户已授权第三方应用账号对应的接口范围(scope)。
对于接口作用域(scope),可以调用的接口如下:
授权范围(scope)接口接口说明
/sns//
代码交换,授权范围
/sns//
刷新或续订
/sns/auth
检查有效性
/sns/
获取用户个人信息
其中,属于基础接口。如果应用程序已经拥有其他范围权限简单的星云笔刷,则默认拥有该权限。使用允许移动网页授权的动作绕过跳转授权登录页面请求用户授权,直接用授权临时票(code)跳转到第三方网页,但会使得用户授权范围(范围),因此无法获取需要用户授权的数据和基本功能。
API调用方式请参考《微信授权关系API调用指南》
FAQ 1. 什么是授权临时票(代码)?
A:第三方通过代码获取代码时需要使用。代码的超时时间为 10 分钟。代码在失效前只能成功交换一次。临时一次性密码保证了微信授权登录的安全性。第三方可以通过使用 https 和 state 参数进一步加强自己授权登录的安全性。
2. 什么是授权范围?
答:授权范围(scope)代表用户授权给第三方的接口权限。第三方应用需要向微信开放平台申请相应范围的使用权限后,使用文档中描述的方法允许用户授权。对应后才能调用该接口。
3. 网站内嵌微信登录JS代码的JS代码中style字段的作用是什么?
答:第三方页面的颜色样式可能是浅色调也可能是深色调。如果第三方页面为浅色背景,则需在样式字段中提供“黑色”值(或不提供,黑色为默认值),对应的微信登录文字样式为黑色。相关效果如下:
如果提供了“white”的值,则对应的文本描述将显示为白色PerfectlyClear Complete(智能调色磨皮插件),适合深色背景。相关效果如下:
4.网站嵌入二维码微信登录JS代码中href字段的作用?
A:如果第三方觉得微信团队提供的默认样式与自己的页面样式不匹配,可以提供自己的样式文件覆盖默认样式。比如第三方认为默认二维码太大,可以提供相关的CSS样式文件,将链接地址填入href字段
. . {宽度:200px;}
..title {:无;}
..info {宽度:200px;}
。{:没有任何}
. . {文本对齐:;}
相关效果如下:
转载于:
发表评论