【一键登录】---- 2026超详细图文教程|APP微信一键登录完整实现流程(Android\+iOS\+后端,避坑完整版)

发布时间:2026/6/18 0:30:14

【一键登录】---- 2026超详细图文教程|APP微信一键登录完整实现流程(Android\+iOS\+后端,避坑完整版) 文章目录超详细图文教程APP微信One-Click Login完整实现流程Android\iOS\后端避坑完整版一、业务全景流程图二、前置准备微信开放平台后台配置⚙️配图2后台实操截图2.1 账号资质要求2.2 创建移动应用审核步骤三、Android端SDK集成实操3\.1 导入官方微信SDK3.2 固定目录创建必做微信硬性规则3.3 AndroidManifest清单配置⚙️3.4 点击登录核心业务代码3.5 回调页面获取code代码四、iOS端集成核心配置五、后端全套接口逻辑️Java通用全平台通用5.1 接口一code换取access\_token、openid5.2 接口二获取用户微信资料5.3 后端业务登录逻辑六、上线高频问题图文避坑⚠️七、上线安全硬性规范️补充答疑Java后端调试微信有无公用测试AppID\Secret1、移动应用本文Android/iOS APP登录专用2、免费替代调试方案Java后端本地开发专用3、密钥归属规则超详细图文教程APP微信One-Click Login完整实现流程AndroidiOS后端避坑完整版前言市面上99%APP微信登录均采用微信OAuth2.0授权码模式禁止前端直调微信接口高危安全漏洞本文全程图文点位标注、分步实操、全套代码、高频坑点配图讲解零基础开发可直接照搬上线。一、业务全景流程图✅ 极简一目了然流程图1.拉起微信授权2.用户同意授权返回临时code3.后端携带AppIDAppSecretcode请求微信服务器4.下发access_token/openid用户凭证新用户自动注册/老用户直接登录APP端点击微信登录微信客户端授权页APP上传code至自研后端☁️微信开放平台服务端⚙️业务后端校验账号下发业务TokenAPP登录完成整套登录闭环5步走✨核心原则前端只拿code所有密钥、接口鉴权全部交由后端处理****用户点击APP【微信登录】按钮APP集成SDK拉起微信授权页✅用户同意授权微信客户端回调APP返回一次性临时授权code5分钟有效期、单次可用⏱️APP将code上传自研业务后端不触碰微信私密接口后端携带AppID、AppSecret、code请求微信服务器换取openid、access_token用户凭证️后端查询数据库完成账号注册/登录返回业务tokenAPP本地存储完成登录核心禁忌绝对不能把AppSecret写在安卓/苹果客户端代码内会直接导致用户账号被盗、平台资质违规二、前置准备微信开放平台后台配置⚙️配图2后台实操截图2.1 账号资质要求官网地址https://open.weixin.qq.com/账号类型必须企业认证账号个人账号无法开通APP微信登录权限❌费用300元/次认证费用认证长期有效✅2.2 创建移动应用审核步骤登录后台 → 管理中心 →移动应用→ 创建移动应用2.基础资料填写应用名称、官网、应用图标、应用简介️平台必填参数审核必填错填无法跳转回调⚠️AndroidAPP官方包名、应用签名MD5值iOSBundle ID、Universal Links通用链接iOS13强制必填提交审核工作日1-3天审核通过⏳审核完成获取两大核心参数AppID客户端后端共用AppSecret仅后端留存禁止外泄三、Android端SDK集成实操3.1 导入官方微信SDKModule层级build.gradle引入依赖无埋点纯净版SDK// 微信官方登录SDK 稳定版 implementation com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.8.03.2 固定目录创建必做微信硬性规则在项目包名下新建wxapi固定文件夹新建回调类 WXEntryActivity包名不能修改否则微信无法跳转回APP❌3.3 AndroidManifest清单配置⚙️!-- 微信专属回调页面 透明无标题 必须配置exportedtrue --activityandroid:name.wxapi.WXEntryActivityandroid:exportedtrueandroid:themeandroid:style/Theme.Translucent.NoTitleBarintent-filteractionandroid:nameandroid.intent.action.VIEW/categoryandroid:nameandroid.intent.category.DEFAULT/categoryandroid:nameandroid.intent.category.BROWSABLE/!-- scheme格式固定wx你的微信开放平台AppID --dataandroid:schemewxwxxxxxxxxxxxxxxx//intent-filter/activity3.4 点击登录核心业务代码// 全局初始化微信SDKIWXAPIwxApiWXAPIFactory.createWXAPI(this,你的AppID,true);wxApi.registerApp(你的AppID);/** * 微信登录点击事件 */privatevoidgoWxLogin(){// 判断用户是否安装微信if(!wxApi.isWXAppInstalled()){Toast.makeText(this,请先安装微信客户端,Toast.LENGTH_SHORT).show();return;}// 构建授权请求SendAuth.ReqauthReqnewSendAuth.Req();authReq.scopesnsapi_userinfo;// 授权获取昵称、头像authReq.statelogin_System.currentTimeMillis();// 防csrf攻击随机值wxApi.sendReq(authReq);}3.5 回调页面获取code代码// WXEntryActivity内回调方法OverridepublicvoidonResp(BaseRespbaseResp){super.onResp(baseResp);// 判断为微信登录回调if(baseResp.getType()ConstantsAPI.COMMAND_SENDAUTH){SendAuth.Respresp(SendAuth.Resp)baseResp;switch(resp.errCode){case0:// 授权成功拿到核心code传给后端StringwxCoderesp.code;// 调用自研后端登录接口上传codehttpPostWxLogin(wxCode);break;case-2:// 用户手动取消微信授权Toast.makeText(this,已取消登录,Toast.LENGTH_SHORT).show();finish();break;}}finish();}四、iOS端集成核心配置配置微信URL白名单LSApplicationQueriesSchemes 添加 weixin、wechat配置Universal Links通用链接微信后台与Xcode链接必须完全一致iOS13不配置无法返回APP❌AppDelegate注册微信AppID实现跳转回调代理✅拉起授权逻辑和安卓完全一致回调获取code后直接上传后端即可iOS高频坑通用链接校验失败授权弹窗一闪而过直接返回APP登录页百分百是链接前后不一致导致。五、后端全套接口逻辑️Java通用全平台通用后端两步接口调用前端无需感知微信接口安全可控5.1 接口一code换取access_token、openid请求地址GEThttps://api.weixin.qq.com/sns/oauth2/access_token请求参数appid开放平台AppIDsecret后端保密AppSecretcode前端上传临时授权码grant_type固定值 authorization_code微信返回标准JSON{access_token:长期鉴权凭证,expires_in:7200,refresh_token:刷新凭证,openid:用户当前应用唯一ID,unionid:企业主体全域统一用户ID,scope:snsapi_userinfo}5.2 接口二获取用户微信资料请求地址GEThttps://api.weixin.qq.com/sns/userinfo入参access_token openid返回用户昵称、头像地址、性别、城市信息5.3 后端业务登录逻辑️根据openid查询业务数据库无账号自动新建账号绑定openid、unionid、头像昵称✅已有账号直接核验身份下发业务登录Token前端接收token本地SP/钥匙串存储完成登录六、上线高频问题图文避坑⚠️报错码故障原因解决方案-2用户手动取消授权前端弹窗提示取消登录即可40029⏱️Code失效/重复使用code仅单次有效禁止前端缓存复用code40001AppSecret错误核对开放平台密钥后端不要随意修改无法跳转回APP回调配置不匹配安卓核对签名包名、iOS核对通用链接七、上线安全硬性规范️✅ AppSecret只存后端配置文件不打包客户端、不传输前端✅️ 必须后端中转微信接口禁止前端直接换取token✅️ 登录state参数必校验防御CSRF跨站伪造登录✅ 多端互通业务优先存储unionid而非openid补充答疑Java后端调试微信有无公用测试AppIDSecret核心结论前置✅APP移动端微信一键登录【无官方全网公用测试AppID/Secret】❌分为两类账号权限完全不互通Java后端调试区分使用1、移动应用本文Android/iOS APP登录专用微信开放平台无公开免费测试AppID、Secret全网没有通用可用账号账号要求必须自行注册【企业认证账号】300元认证费自建移动应用审核下发专属AppIDSecret⚠️硬性限制个人微信开放平台账号直接禁用APP微信登录权限无法获取可用密钥关联前文报错文档内41002(appid缺失)、41001(token缺失)90%都是复制公用无效密钥、参数漏传导致2、免费替代调试方案Java后端本地开发专用✅公众号测试号免费、无需企业认证、个人微信一键申领申领地址https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login特点自动生成专属AppIDSecret免费调用token、用户信息接口适配Java后端接口调试❌局限性只能调试接口代码无法拉起APP微信授权登录仅用来校验后端http请求、参数逻辑3、密钥归属规则不是全系统统一密钥一个应用 一套独立AppIDSecret互不通用禁止共用他人密钥公用密钥大概率封禁、接口直接返回40001密钥错误无法上线Java开发建议本地接口调试用公众号测试号联调打包必须用自研企业移动应用密钥

相关新闻