微信小程序开发之授权登录流程相关实用内容分享

2025-04-11
来源:网络整理

本文将与您分享有关如何实施微信Mini程序的用户授权登录功能的内容。编辑认为它非常实用,因此我与您共享参考,并关注编辑来看看。

准备:

微信开发人员工具下载地址:

微信小程序开发文件:

发展:

在开发开始时,我们需要澄清微信政党已制定的授权登录过程,并参考官方API登录接口。

您将看到微信为开发人员制定的登录授权过程:

如图所示,这是向前用户登录授权的过程。

为什么这是一个前进过程?因为在实际的MINI计划的开发中,我们不确定用户何时需要启动上述登录过程(例如:在某些特定的情况下,用户的凭据丢失了,但他不退出Mini计划,而是在Mini计划中跳跃和其他相关操作,这可能会导致某些出乎意料的例外),因此我们需要在此远程处理中添加这些远程攻击的官方范围。可以在一定程度上解决这个问题。

然后,我们的认证过程实际上应该是:

- 迷你程序WX。验证登录状态无效

- :接口成功调用的回调函数尚未过期,过程结束;

- 失败:未能调用接口的回调函数已过期

- 》小型程序WX。获取代码和WX。将代码提交您自己的服务器

- 》提交自己的服务器 + +代码以进入微信服务器&

- 》我们的服务器是根据&(基于微信的基于安全性的注意事项生成的

- 》迷你程序WX。存储(随后的用户操作需要凭据时,使用此参数)

- 》迷你程序WX。获取用户信息 + WX。获得数据后,将其提交给您自己的服务器

- 》更新您自己的服务器的SQL用户数据信息和过程结束;

这个想法已整理出来,该过程将下一步实施

迷你计划:

在小程序中,创建一个新的常规JS作为基本支持

并引用一些需要引用的页面

var common = require("../Common/Common.js")

接下来,在.js中实现逻辑

//用户登陆 function userLogin() {   wx.checkSession({     success: function () {       //存在登陆态     },     fail: function () {       //不存在登陆态       onLogin()     }   }) }   function onLogin() {   wx.login({     success: function (res) {       if (res.code) {         //发起网络请求         wx.request({           url: 'Our Server ApiUrl',           data: {             code: res.code           },           success: function (res) {

开发微信小程序怎么授权_个人开发微信小程序权限_微信小程序授权登录开发

            const self = this             if (逻辑成功) {               //获取到用户凭证 存儲 3rd_session                var json = JSON.parse(res.data.Data)               wx.setStorage({                 key: "third_Session",                  data: json.third_Session               })               getUserInfo()             }             else {               }           },           fail: function (res) {             }         })       }     },     fail: function (res) {        }   })   }   function getUserInfo() {   wx.getUserInfo({     success: function (res) {       var userInfo = res.userInfo       userInfoSetInSQL(userInfo)     },     fail: function () {       userAccess()     }   }) }   function userInfoSetInSQL(userInfo) {   wx.getStorage({     key: 'third_Session',     success: function (res) {       wx.request({         url: 'Our Server ApiUrl',         data: {           third_Session: res.data,           nickName: userInfo.nickName,           avatarUrl: userInfo.avatarUrl,           gender: userInfo.gender,           province: userInfo.province,           city: userInfo.city,           country: userInfo.country         },         success: function (res) {           if (逻辑成功) {             //SQL更新用户数据成功           }           else {             //SQL更新用户数据失败           }         }       })     }   }) }

在这一点上,基本上已经实现了迷你程序终端的过程,然后实现了我们方面的服务API。

接口逻辑示例

if (dicRequestData.ContainsKey("CODE")) {     string apiUrl = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", ProUtil.SmartAppID, ProUtil.SmartSecret, dicRequestData["CODE"]);     HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(apiUrl);     myRequest.Method = "GET";     HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();     StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);     string content = reader.ReadToEnd();     myResponse.Close();     reader.Close();     reader.Dispose();     //解析     userModel ReMsg = JSONUtil.JsonDeserialize(content); //解析     if ((!string.IsNullOrWhiteSpace(ReMsg.openid)) && (!string.IsNullOrWhiteSpace(ReMsg.session_key)))     {         // 成功 自定义生成3rd_session与openid&session_key绑定并返回3rd_session     }     else     {         // 错误 未获取到用户openid 或 session     } } else {     // 错误 未获取到用户凭证code }

该界面将在这里不描述。用户可以根据自己的情况操作数据。呼叫成功后,微信政党返回的相关参数信息如下。

谢谢您的阅读!这是本文的结尾:“如何实施微信中的用户授权登录函数”。我希望以上内容对每个人都有帮助,以便您可以学习更多知识。如果您认为这篇文章很好,可以分享它以供更多人看到它!

分享