04/29/2024 11:54:53

SelfWeb 邮箱手机的网页登录适配插件

本插件用于 Email & Phone 的网页登录适配,支持通过网页登录邮箱或手机后,将登录结果透传到客户端。

前提条件

  1. 需要做邮箱和手机网页登录的业务,按照自建账号 JSsdk 接口实现登录页面,获取可以访问到该页面的链接
  2. 接入本 【MSDKSelfWeb】 插件

一、网页开发指引

  1. 按照后台提供的自建账号 JSsdk 开发邮箱和手机登录的页面,JSsdk 请咨询 MSDK 小助手获取

  2. 在第一步开发过程中,登录成功会获取到类似于如下登录态(json格式):

     {
         "token":"LsMIn@7LaRmXODd5DUfStUauG5m0jozCUqywApeDSCE35ICIqZjUyA_Q7V@PWM37PQxpZWLKsc_gPq1YBpNJQ==",
         "uid": "19243064182656",
         "expire": 1594790875,
         "ret": 0,
         "msg": "Success",
     }
    
  3. 按如下格式,拼接语言参数到登录态中(必要,此语言参数用于透传给后台服务器,用于指明给用户发送信息的语言),语言参数需要符合 i18N 国际标准

     {
         "token":"LsMIn@7LaRmXODd5DUfStUauG5m0jozCUqywApeDSCE35ICIqZjUyA_Q7V@PWM37PQxpZWLKsc_gPq1YBpNJQ==",
         "uid": "19243064182656",
         "expire": 1594790875,
         "ret": 0,
         "msg": "Success",
         "langType": "zh_CN"
     }
    
  4. 按照如下客户端协议,在页面中将拼接好的登录态透传给客户端:
     function selfWebLogin(data){
         console.log('selfWebLogin invoked -- start');
         var loginDataVar = document.getElementById('loginData').value;
         if (loginDataVar == '') {
             loginDataVar = data;
         }
         if (isiOS()) {
           window.webkit.messageHandlers.MSDKSelfWeb.postMessage(loginDataVar);
         } else {
           MSDKSelfWeb.onResult(loginDataVar);
         }
     }
    
  5. 至此,网页端开发完成

  6. 部署并获取能访问到该页面的 URL 备用

二、客户端开发指引

  1. 客户端接入 MSDKSelfWeb 插件

  2. 在 MSDKConfig.ini 中添加如下配置,将第一步网页开发指引中准备好的 URL 配置上去:

     [SelfWeb 渠道配置]
     SELF_WEB_URL = https://img.ssl.msdk.qq.com/msdk_client_test/MSDKWebViewDemo.html
    
  3. 客户端登录逻辑代码中,使用如下接口调用:

     // Unity 调用
     MSDKLogin.Login("SelfWeb","","","");
     // UE 调用
     MSDKLogin::Login("SelfWeb","","","");
    
  4. 客户端配置结束。

三、功能说明

  1. 客户端调用登录接口,传入 SelfWeb 渠道名称
  2. 此接口会拉起 WebView 并展示业务在 SELF_WEB_URL 配置的 URL 所对应的登录页面链接
  3. 用户在登录页面中输入邮箱或手机做登录操作
  4. 登录成功会关闭页面(需要页面开发做这个逻辑)并将登录结果透传下来给到客户端
  5. 客户端拿着透传下来的登录态跟后台服务器做鉴权,鉴权成功既登录成功
  6. 通过客户端 GetLoginRet 接口可以获取到登录态。



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""