WeChat ミニ プログラム API ログイン
wx.login(OBJECT)
インターフェースを呼び出してログイン認証情報(コード)を取得し、それをユーザーの一意識別子(openid)やセッションキー(このログインの session_key) 。 ユーザーデータ通信の暗号化と復号化はセッションキーに依存します。
OBJECTパラメータの説明:
成功リターンパラメータの説明:
サンプルコード:
//app.js App({ onLaunch: function() { wx.login({ success: function(res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://test.com/onLogin', data: { code: res.code } }) } else { console.log('获取用户登录态失败!' + res.errMsg) } } }); } })
session_key と引き換えのコード
これは HTTPS ですインターフェイス、開発者サーバーは、ログイン資格情報コード を使用して session_key と openid を取得します。このうち、session_key はユーザーデータの暗号化署名のための鍵です。独自のアプリケーションのセキュリティのため、session_key はネットワーク上で送信されるべきではありません。
インターフェースアドレス:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
リクエストパラメータ:
戻りパラメータ:
パラメータ | 説明 |
---|---|
openid | ユーザー固有の識別子 |
session_key | セッションキー |
戻り手順:
//正常返回的JSON数据包 { "openid": "OPENID", "session_key": "SESSIONKEY" } //错误时返回JSON数据包(示例为Code无效) { "errcode": 40029, "errmsg": "invalid code" }
ログインステータスのメンテナンス
wx.login()
を通じてユーザーのログインステータスを取得した後、ログインステータスを維持する必要があります。開発者は、session_key や openid などのフィールドをユーザー識別子またはセッション識別子として直接使用すべきではなく、セッション ログイン状態を独自にディスパッチする必要があることに注意してください (ログイン シーケンス図を参照してください)。開発者自身が生成したセッションの場合、セキュリティを確保し、長い有効期限を設定すべきではありません。セッションがミニ プログラム クライアントにディスパッチされた後、後続の通信のためにストレージに保存できます。 wx.login()
获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把 session_key、openid 等字段作为用户的标识或者 session 的标识,而应该自己派发一个 session 登录态(请参考登录时序图)。对于开发者自己生成的 session,应该保证其安全性且不应该设置较长的过期时间。session 派发到小程序客户端之后,可将其存储在 storage ,用于后续通信使用。
登录时序图
wx.checkSession(OBJECT)
检查登陆态是否过期
示例代码:
wx.checkSession({ success: function(){ //登录态未过期 }, fail: function(){ //登录态过期 wx.login() } })
Bug & Tip
bug
:iOS/Android
6.3.30
ログインシーケンス図
![1486537543708716.png 1483582545198711.png](https://img.php.cn/upload /image/357/934/251/1486537543708716.png)
wx.checkSession(OBJECT)🎜
🎜ログインステータスの有効期限が切れていないか確認してください🎜🎜🎜
🎜🎜🎜🎜サンプルコード: 🎜🎜rrreee🎜
バグとヒント
< ol>
bug
: iOS/Android
6.3.30
、App.onLaunch で wx.login を呼び出すと例外が発生します。 ; 🎜🎜