最近在开发小程序项目的时候,碰到一个需要通过用户授权才能正常登录和使用的功能,一般来说,对于整个小程序而言,只有经过用户的允许,获取到用户基本的信息之后,才能更好的对整个数据进行统计和整理,因此获取用户授权登录的功能是必不可少的,今天厦门在乎科技为大家带来微信小程序授权登录介绍,一起来了解一下吧。

微信小程序授权登录:
首先需要自己的一个小程序,可以到微信公众平台注册一个自己的小程序
前端部分:
编写自己的界面login.wxml:
<view>
<image class='pic' src='../../images/index.jpg'></image>
</view>
<view class='wxloggin'>
<form>
<view>
<button type='primary' open-type='getUserInfo' bindgetuserinfo='doLogin'>微信登录</button>
</view>
</form>
</view>
login.js:
//获取应用实例
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
//登录
doLogin: function(e){
console.log(e.detail.errMsg)
console.log(e.detail.userInfo)
console.log(e.detail.rawData)
wx.login({
success: function(res){
console.log(res)
//获取登录的临时凭证
var code = res.code;
//调用后端,获取微信的session_key,secret
wx.request({
url: 'http://192.168.0.15:8090/wxLogin?code='+code,
method: "POST",
success: function(result){
console.log(result);
app.setGlobalUserInfo(e.detail.userInfo);
wx.redirectTo({
url: '../index/index'
})
}
})
}
})
}
})
官方流程图:

说明:首先需要小程序端触发 wx.login方法拿到code,将code传到后台服务器,后台服务器结合小程序的appid和appsecret去请求微信接口服务器,微信接口服务器返回openid和session_key给后台服务器,然后进行自己的业务办理。

小程序授权方式有哪些:
1.一次性授权
常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口,但是此方法如果不经处理的话 用户如果拒绝授权或者删除该微信小程序后 需要重新调取并获取用户公开信息(头像,昵称等),此方法用户体验较差。
2.永久授权
在不必要使用用户公开信息(头像,昵称等)时,不调取授权登录接口,只有在必要的时候再去判断调取授权登录接口并把获取到的用户公开信息存入数据库,这样在每次登录时直接先运行指定函数从数据库索取需要的用户公开信息(头像,昵称等)即可,此方法在删除小程序后不用再次去授权登录(因为在用户第一次授权登录时已经把用户的公开信息存入数据库了以后直接向数据库索取即可)。
3.不授权
不需要授权登录获取用户公开信息(头像,昵称等),使用wx.login获取用户code并传入后台,后台可以通过用户的code值向微信要一个值,然后通过这个用code换取的值就可以识别到指定用户,如果需要的话,前端要显示的头像、昵称等这些信息可以使用自定义可编辑的功能。
当然,也可以通过

以上就是今天为大家带来的关于“微信小程序授权登录 小程序授权方式有哪些”全部内容,这里我们要注意一个就是微信小程序不能一进入小程序就让用户授权登录的,一进入小程序就让用户授权登录,是无法通过官方审核的,想要了解更多关于小程序授权登录的相关内容,欢迎关注厦门在乎科技-专注小程序、app、网站开发