微信登录授权过程 完整流程图
- 格式:pdf
- 大小:89.60 KB
- 文档页数:1


安卓第三⽅登录之微信登录(图⽂详解)安卓第三⽅登录之微信登录⼀、成为开发者⼆、创建应⽤“创建移动应⽤”填写基本的应⽤信息填写平台信息可参照后⾯的步准备好要填写的信息。
应⽤包的名称:keystore第⼀步:⽤ Android Studio ⽣成 keystore第⼆步:Create New第三步:填写相关信息,⾥⾯内容什么含义⾃⾏Google创建key的⽂件夹,也可保存到其它地⽅创建新的签名,填写组织的相关信息*注意:签名⼯具得到的签名根你APP的打包步骤有关,默认的debug和jks⽂件签名,结果是不⼀样的,如果app签名与微信开放平台的不⼀样,将⽆法调出微信登录界⾯配置签名路径并取个名字为“config”配置 Build Types 使⽤上步的 “config”查看⽂件是不是有下⾯的⼀段android {signingConfigs {config {keyAlias ''keyPassword 'youPassword****' //签名⽂件的密码storeFile file('D:/AndroidProjects/key/endv.jks') // 签名⽂件路径storePassword 'youPassword****' //密码}}compileSdkVersion 26buildToolsVersion "26.0.1"defaultConfig {applicationId "cn.endv.www.tianyun"minSdkVersion 15targetSdkVersion 26versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.config}debug {signingConfig signingConfigs.config}}}编译成功后,发到⼿机⾥安装好之后进⾏下⼀步:(签名⼯具和⾃⼰的应⽤已安装好)(⾃⼰的程序)下载“签名⽣成⼯具”(在这个群⾥【650198583】下载,⽹上也可以找到)⽤⼿机登陆,直接在qq群⾥下载后安装,(建议直接⽤⼿机下载)获取 key 如图最后填⼊上述步骤中,提交,等待审核。
微信⼩程序java登录授权解密获取unionId(填坑)官⽅流程图:第⼀步:获取code说明:⼩程序调⽤wx.login() 获取临时登录凭证code ,并回传到开发者服务器。
开发者服务器以code换取⽤户唯⼀标识openid 和会话密钥session_key。
之后开发者服务器可以根据⽤户标识来⽣成⾃定义登录态,⽤于后续业务逻辑中前后端交互时识别⽤户⾝份。
//app.jsApp({onLaunch: function() {wx.login({success: function(res) {if (res.code) {//发起⽹络请求wx.request({url: 'https:///onLogin',data: {code: res.code}})} else {console.log('登录失败!' + res.errMsg)}}});}})关于unionId,这⾥需要说明⼀下,如果应⽤只限于⼩程序内则不需要unionId,直接通过openId可以确定⽤户⾝份,但是如果需要跨应⽤如:⽹页应⽤,app应⽤时则需要使⽤到unionId作为⾝份标识。
UnionID获取途径绑定了开发者帐号的⼩程序,可以通过下⾯3种途径获取UnionID。
调⽤接⼝wx.getUserInfo,从解密数据中获取UnionID。
注意本接⼝需要⽤户授权,请开发者妥善处理⽤户拒绝授权后的情况。
如果开发者帐号下存在同主体的公众号,并且该⽤户已经关注了该公众号。
开发者可以直接通过wx.login获取到该⽤户UnionID,⽆须⽤户再次授权。
如果开发者帐号下存在同主体的公众号或移动应⽤,并且该⽤户已经授权登录过该公众号或移动应⽤。
开发者也可以直接通过wx.login获取到该⽤户UnionID,⽆须⽤户再次授权。
说明完了,我们继续下⼀步,主要需要区分获得授权,和未获得授权情况第⼆步:通过code换取sessionKey等个⼈信息1、未获得授权注意:这⾥unionId如果满⾜上⾯2、3所说获取条件,则会在这⼀步⾥返回,如果不满⾜则需要调⽤wx.getUserInfo来获取,这个⽅法需要获得⽤户授权。
微信授权登陆接⼊第三⽅App(步骤总结)这⼏天开发要⽤到授权的功能,所以就研究了⼀下。
可是微信开放平台接⼊指南⾥有⼏个地⽅写的不清不楚。
在此总结⼀下,以便需要的⼈。
很多微信公众平台的应⽤如果移植到app上的话就需要微信授权登陆了。
⽬前移动应⽤上微信登录只提供原⽣的登录⽅式,需要⽤户安装微信客户端才能配合使⽤。
也就是如果第三⽅应⽤需要微信授权登陆的话就必须在本机上安装了微信。
⽽后续授权登陆或调⽤接⼝之类的相当于app和微信两个应⽤之间通话。
1、⾸先需要注册微信开放平台,然后获取开发者认证。
审批通过之后再创建⼀个移动应⽤同样还是需要审批。
通过之后就可以给这个应⽤添加微信授权登陆以及相应功能了。
这⾥移动应⽤审批通过之后会给你两个参数,⼀个叫AppId,⼀个叫Secret。
这两个参数在后⾯补充:写这篇⽂章有⼀段时间了。
在这补充下⼤家容易出问题的⼏个地⽅。
1)⼤家在创建移动应⽤的时候注意的地⽅。
上⾯图⽚是申请移动应⽤时候的第⼆步,令我想不明⽩的是很多开发者还不知道应⽤包名和应⽤签名指的是什么。
包名是你manifest⽂件⾥⾯顶层的那个package啊。
就是这个东西啊,这个东西啊少年。
2)应⽤签名。
好吧我真不想啰嗦了。
应⽤签名就是你同过ks⽂件得到的那个应⽤签名。
如果你不知道如何获得这个签名。
请按下⾯步骤⾛:1,先把你的应⽤程序打包安装在你的⼿机上。
2,下载官⽹上提供的签名⽣成⼯具并安装在⼿机上。
下⾯这个地⽅下载:3、打开签名⽣成⼯具输⼊你的app的包名就⽣成你的应⽤签名了。
补充完毕。
(对于上⾯这点补充我真不想多回答了。
PS:我的昵称留下了QQ我很⽆辜啊。
⼤家有问题上班时间别问好吗,哥⼼软不忍⼼拒绝啊,尤其有妹⼦问的时候啊。
坟蛋)2、在需要微信授权的项⽬中导⼊微信的第三⽅JAR包,这个在⾥⾯说的很清楚,不再啰嗦。
3、注册到微信:这⼀步也没什么课解释的,相当于两⼈要联系的时候先打通了电话,然后开始沟通。
这⼀步在需要和微信通话的界⾯之前注册了就⾏。
[JAVA实现]微信公众号⽹页授权登录⽹上搜资料时,⽹友都说官⽅⽂档太垃圾了不易看懂,如何如何的。
现在个⼈整理了⼀个通俗易懂易上⼿的,希望可以帮助到刚接触微信接⼝的你。
请看流程图!看懂图,就懂了⼀半了:其实整体流程⼤体只需三步:⽤户点击登录按钮(其实就相当于⼀个链接) ---》⽤户点击授权登录 ----》实现获取⽤户信息代码。
然后获取⽤户信息代码只需三步:获取code ----》通过code获取access_token和openId ---》通过access_token和openId获取⽤户信息(包含union)。
以上便是整体套路,当然官⽹上也有,但具体如何实现呢?不着急,咱们⼀步⼀步来!第⼀步:微信登录按钮它其实就是⼀个连接,不过想得到这个链接,有⼀点点⿇烦。
& response_type=code(固定的) & scope = snsapi_userinfo(或者snsapi_base默认授权) & state=STATE#wechat_redirect这个链接中参数的具体含义,官⽅解释如下:参数是否必须说明appid是公众号的唯⼀标识redirect_uri是授权后重定向的回调链接地址,请使⽤urlencode对链接进⾏处理response_type是返回类型,请填写codescope是应⽤授权作⽤域,snsapi_base (不弹出授权页⾯,直接跳转,只能获取⽤户openid),snsapi_userinfo (弹出授权页⾯,可通过openid拿到昵称、性别、所在地。
并且,即关注的情况下,只要⽤户授权,也能获取其信息)state否重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节#wechat_redirect是⽆论直接打开还是做页⾯302重定向时候,必须带此参数第⼆步:授权确认登录这⼀步最简单,第⼀步登录链接拼好后,在⼿机微信中打开,微信便会跳转到确认授权页⾯,点击确认授权即可。