網站首頁 編程語言 正文
目錄
一、介紹openid
二、openid獲取難在哪
三、云開發獲取openid
一、介紹openid
我們在區分小程序用戶時都需要用到openid,用戶openid就相當于用戶在小程序里的身份證。做為用戶的唯一標示,所以獲取到用戶openid就顯得很重要了,今天來教大家怎么樣獲取要用戶的唯一標示 openid
二、openid獲取難在哪
今天試了網上的很多方法,在真機調試的時候還是能夠獲取到的,結果一上傳代碼就獲取不到了,應該也有很多同學遇到了這個問題,所以我們應該把code值傳到后端去獲取openid,因為在前端可能會被抓包或爬取到你的appid和secret,不安全,如果放在后端獲取openid,除非你的服務器被攻擊了,不然就是安全的。
三、云開發獲取openid
1. 首先我們在 uniCloud 目錄下的 cloudfunctions 下右擊創建云函數
2. 編寫云函數
'use strict';
exports.main = async (event, context) => {
let appid = "wxc00000000000";//你自己的appid
let secret = "xxxxxxxxxxxxxxxxxxxxxxxx";//你自己的appsecret
let url =
"https://api.weixin.qq.com/sns/jscode2session?appid=" +
appid +
"&secret=" +
secret +
"&js_code=" +
event.code +
"&grant_type=authorization_code";
let res = await uniCloud.httpclient.request(
url ,// 請求路徑,
{
dataType:"json"
}
);
let openid = res.data.openid
return openid
};
?注意這里的 appid 和 secret 要用你自己的
3. 客戶端調用uni.login(),用得到的code調用云函數
uni.login({
provider: "weixin",
success: function (res) {
uniCloud.callFunction({
name: 'openid',
data: {
code: res.code
},
success: (res) => {
console.log('云函數返回的值::::', res.result)
},
fail: () => {
console.log('云函數調用失敗')
}
})
},
});
4. 查看輸出
?
現在我們就成功獲取到了用戶的 openid ,摸著石頭過河太難了,都是血淚啊
原文鏈接:https://blog.csdn.net/qq_49900295/article/details/125411067
相關推薦
- 2022-05-21 淺談GO中的Channel以及死鎖的造成_Golang
- 2022-05-17 ubuntu切換python版本解決語法不匹配問題(SyntaxError: invalid syn
- 2022-05-13 顯示類型轉換 const_cast, static_cast, dynamic_cast, tein
- 2023-01-27 解決Pycharm模塊安裝慢問題的兩種方法_python
- 2022-04-11 .NET應用程序集DLL與EXE工作機制及原理介紹_自學過程
- 2023-07-08 QMessageBox顯示中文為亂碼
- 2022-11-14 Android開發RecyclerView單獨刷新使用技巧_Android
- 2022-05-28 Pyinstaller打包Pytorch框架所遇到的問題_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支