Que fait auth-wechat-miniprogram ?
Guide d'authentification native pour mini-programmes WeChat avec CloudBase. Utilisez cette compétence lorsque vous avez besoin de gérer l'identité des mini-programmes, d'accéder à OPENID/UNIONID ou de configurer le comportement d'authentification wx.cloud dans des projets où la connexion est native et automatique.
Introduction
Ce guide explique comment mettre en place l'authentification native des mini-programmes WeChat en utilisant CloudBase. L'authentification native signifie que le mini-programme gère lui-même le flux de connexion, sans passer par des interfaces d'authentification tierces. L'authentification automatique permet au mini-programme d'être connecté dès son ouverture, améliorant ainsi l'expérience utilisateur.
Prérequis
- Un projet CloudBase activé
- Un mini-programme WeChat enregistré
- Les clés d'API nécessaires (AppID, AppSecret)
Étapes d'implémentation
1. Configuration côté client (mini-programme)
Dans le code du mini-programme, utilisez l'API wx.cloud.callFunction pour appeler une fonction Cloud qui gère l'authentification.
wx.cloud.callFunction({
name: 'login',
success: res => {
console.log(res.result.openid)
},
fail: err => {
console.error(err)
}
})
2. Configuration côté serveur (CloudBase)
Créez une fonction Cloud nommée login qui utilise le SDK CloudBase pour gérer l'authentification.
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
openid: wxContext.OPENID,
unionid: wxContext.UNIONID
}
}
3. Activation du mode automatique
Pour une authentification automatique, ajoutez le code suivant dans la fonction onLaunch du mini-programme.
App({
onLaunch: function () {
wx.cloud.init({
env: 'your-env-id'
})
// Authentification automatique
wx.cloud.callFunction({
name: 'login',
success: res => {
wx.setStorageSync('userInfo', res.result)
}
})
}
})
Gestion des erreurs
Assurez-vous de gérer les erreurs potentielles, comme les échecs de réseau ou les jetons expirés. Utilisez try/catch ou les callbacks d'erreur appropriés.
Références
Support
Si vous rencontrez des problèmes, consultez la documentation officielle ou ouvrez une issue sur le dépôt GitHub.