开发需求:网站接入微信登录
接入方式有3个
1、公众号:服务号(资质)+微信认证300元/年;
2、微信小程序:内嵌webview,必须企业资质;
3、网站应用:申请网站应用+平台认证300元/年;
接入微信登录主要有以下几种方式,适用于不同场景和需求:
1. 微信开放平台 - 网站应用微信登录
- 适用场景:PC 网页、移动端网页(非微信内浏览器)。
- 实现方式:
- 注册微信开放平台(open.weixin.qq.com),创建网站应用并通过审核。
- 集成微信 OAuth2.0 授权流程:
- 用户点击微信登录按钮,跳转到微信授权页。
- 用户授权后,微信返回
code给后端。 - 后端用
code换取access_token和用户唯一标识openid。
- 获取用户基本信息(需用户同意)。
- 特点:
- 支持获取用户昵称、头像等(需用户授权)。
- 需备案域名。
2. 微信内 H5 - 微信公众账号授权登录
- 适用场景:微信内置浏览器打开的 H5 页面(如公众号菜单、朋友圈链接)。
- 实现方式:
- 拥有已认证的微信公众号(服务号)。
- 通过 OAuth2.0 静默授权(snsapi_base) 或 用户授权(snsapi_userinfo):
- 静默授权:仅获取
openid(无需用户点击确认)。 - 用户授权:可获取昵称、头像等。
- 静默授权:仅获取
- 后端通过
code换取用户信息。
- 特点:
- 依赖微信环境,只能在微信内使用。
- 可与公众号用户体系打通。
3. 移动应用 APP 微信登录
- 适用场景:iOS/Android 原生 APP。
- 实现方式:
- 在微信开放平台创建移动应用并通过审核。
- 集成微信 SDK,调用
WXApi.sendReq()发起登录请求。 - 用户授权后,APP 通过回调获取
code,传给后端换取access_token和openid。
- 特点:
- 需原生开发支持。
- 支持未安装微信时跳转网页授权(需配置备用方案)。
4. 小程序微信登录
- 适用场景:微信小程序内。
- 实现方式:
- 调用
wx.login()获取临时code,传给开发者服务器。 - 后端用
code换取openid和session_key。 - 如需用户信息,调用
wx.getUserProfile()(需用户授权)。
- 调用
- 特点:
- 小程序与微信用户体系天然绑定。
- 无需额外授权页,体验流畅。
5. 扫码登录(PC 端)
- 适用场景:PC 端应用(如桌面软件、大型网站)。
- 实现方式:
- 在微信开放平台申请网站应用或移动应用。
- 展示微信二维码,用户用微信 APP 扫码确认。
- 后端轮询二维码状态,确认后获取用户信息。
- 特点:
- 适合高安全性场景(如企业应用)。
- 用户无需输入账号密码。
6. UnionID 统一用户体系
- 跨平台整合:如果同一用户在公众号、小程序、APP 等多个场景登录,可通过微信开放平台的 UnionID 机制 识别为同一用户。
- 条件:所有应用需绑定到同一开放平台账号。
选择建议:
- 网页端:优先用微信开放平台的网站应用登录。
- 微信内 H5:用公众号授权登录。
- APP:集成微信 SDK。
- 小程序:直接使用
wx.login()。 - PC 软件:扫码登录。
注意事项:
- 资质要求:需企业资质,个人开发者无法申请。
- 回调域名:需备案且与注册信息一致。
- 用户隐私:遵循微信规则,不得强制授权。
具体文档参考:微信官方文档。
浙公网安备 33010602011771号