MSSDK

SDK 文档


H5网页授权接入指南

<p>[TOC]</p> <h2>API 描述</h2> <h3>获取唤起三方APP的URL</h3> <p>提供通过第三方平台授权H5登录能力,目前支持 <code>微信</code>、<code>QQ</code>和 <code>微博</code> 网页授权。<strong>该接口必须服务端调用</strong>。</p> <p>访问域名:<a href="http://pub-gw.uu.cc/public-gateway">http://pub-gw.uu.cc/public-gateway</a></p> <p><strong>请求url:</strong> <code>/ms-player/sdk_/h5/pre/login</code> <strong>请求方式:</strong> GET <strong>请求参数:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">appId</td> <td style="text-align: left;">long</td> <td>应用ID,在乐逗创建的应用ID</td> </tr> <tr> <td style="text-align: left;">loginType</td> <td style="text-align: left;">String</td> <td>登录类型 Hqq_H5,Hwx_H5,WEIBO_H5</td> </tr> <tr> <td style="text-align: left;">redirectUri</td> <td style="text-align: left;">String</td> <td>成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心。注意需要将url进行URLEncode</td> </tr> <tr> <td style="text-align: left;">ldstate</td> <td style="text-align: left;">String</td> <td>重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节</td> </tr> <tr> <td style="text-align: left;">scope</td> <td style="text-align: left;">String</td> <td>非必填,可一次申请多个scope权限,用逗号分隔。对应参数值可参照对应第三方开发平台地址</td> </tr> </tbody> </table> <p><strong>备注:对应scope参数值查阅第三方的文档如下</strong></p> <ul> <li>QQ <a href="https://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8authorization_code%E8%8E%B7%E5%8F%96access_token">https://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8authorization_code%E8%8E%B7%E5%8F%96access_token</a></li> <li>微博 <a href="https://open.weibo.com/wiki/Scope">https://open.weibo.com/wiki/Scope</a></li> <li>微信 <a href="https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#1">https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#1</a></li> </ul> <p><strong>返回示例</strong></p> <ul> <li> <p>说明:授权登录发起请求成功后,回调返回到H5页面</p> </li> <li> <p>回调地址redirectUri:在乐逗业务控制台填写的应用回调地址</p> </li> <li>服务端回调地址返回参数示例:</li> </ul> <pre><code>redirectUri?accessToken=XXX&amp;tokenType=XXX&amp;refreshToken&amp;expiresIn=XXX&amp;ldstate=XXX</code></pre> <p><strong>参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">accessToken</td> <td style="text-align: left;">long</td> <td>Token 凭证</td> </tr> <tr> <td style="text-align: left;">tokenType</td> <td style="text-align: left;">String</td> <td>Token 类型</td> </tr> <tr> <td style="text-align: left;">refreshToken</td> <td style="text-align: left;">String</td> <td>刷新token</td> </tr> <tr> <td style="text-align: left;">expiresIn</td> <td style="text-align: left;">String</td> <td>Token有效期,单位:秒</td> </tr> <tr> <td style="text-align: left;">ldstate</td> <td style="text-align: left;">String</td> <td>随机字符串,a-zA-Z0-9的参数值,最多128字节</td> </tr> </tbody> </table> <h3>获取用户信息</h3> <p>该接口可以通过 <code>accessToken</code> 获取用户信息详情。该接口必须服务端调用。</p> <p>访问域名:<a href="http://pub-gw.uu.cc/public-gateway">http://pub-gw.uu.cc/public-gateway</a> <strong>请求url:</strong> <code>/ms-player/sdk_/player/post/getAccountDetailAndSessionInfo</code> <strong>请求方式:</strong>GET 请求参数:无</p> <ul> <li>接口说明:此接口为登录后才能的访问的接口,用户访问令牌在请求头中传入 签名规则请参考:请参考 <a href="https://www.showdoc.cc/mssdk?page_id=3123995334349155">外部网关签名规则</a> 文档。 返回参数:</li> </ul> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>错误码,当且仅当为0时,请求成功</td> <td>int</td> </tr> <tr> <td>desc</td> <td>描述</td> <td>String</td> </tr> <tr> <td>result</td> <td>结果</td> <td>Object</td> </tr> <tr> <td>encrypt</td> <td>加密类型,RSA</td> <td>String</td> </tr> <tr> <td>data</td> <td>返回数据,加密</td> <td>String</td> </tr> </tbody> </table> <p>示例:</p> <pre><code class="language-json">{ "code": 0, "desc": "成功", "result": { "encrypt": "RSA", "data": "YHUT12aicG7hRUTLZAZimRA/iypkOGdgiL1OfVMgoUnhGz1miXaAfeSf1lEDt2Xw6LnLeI+fWBXJrynY0i1XSeK5IrbrOtXIDBfXxSwAvTlVmGWU9TUzt/OME4NdJYxsfcFA/nCssHSNz6H60nk31MRhTe77zsM3oSgFJhTWtvZfBBqQYaM4qkOCkUk9JcG7ulsSuTOFPvDI0wIw79Y973CZkPTTWcvkUG6evY9FeH8tmF7nr5jNkIK1F/JbTBMI0w3jHKueC6gauKcOJqMoFQGfE/BUk4CSmM2LjMSvZg7XfqyVvd+CzY2yjyUU8Cl3Sko6s3dIDIL/V7zy4LwDf3GCQPuTi1+l8ThPcLToo9QfvrNOPodfxMDAQxMI515alXqOBM6WAZTQWA7gyVlzbSBz8dJlu+VP7R54gUrOqBDwEH4P553V4cV9FwbjJq6ViA0+itsvZ5PkxhJLcYWOEzN8VT1XrCjZxWl44bVGozXqHJqveOAij0R2oSYXx5RMJDEjmKMzdHanjUatcJxrOJun2SVmYqzfSjVwk97a/MqKhrBsqtVYJPhsI1A0lK1R//DkbzYmlSo/bITw3kmnuIByTtMqZFOlqRRS7qC7G77W0+m0qpNaEW8WVYjlFnjig/A5KdKuPUKmVzQGZx0Q7BD9PnSoSnpf4EvCnRAaJ5xYgEZ5OzD5rji7x+ZmbcrxV6MwdPIWiW7NblQ9ifhT7VP0Ba+UAf+P/18Y63xTdIrwLmOXbYX62Wvf6yas7giDW8MmzbpScNYXpe0cOjidyM4yGgXvUVqiGe/R9nWvEZR+1WGMzU0yT9DcIJW4hta1+TkLeoC80031qegoRAnxSw==" } }</code></pre> <p>此接口返回的数据是根据RSA加密的(加密秘钥为当前接入应用的私钥,解密时请使用公钥),解密之后的数据如下:</p> <p><strong>account</strong></p> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> </tr> </thead> <tbody> <tr> <td>userId</td> <td>用户ID</td> <td>Long</td> </tr> <tr> <td>nickName</td> <td>昵称</td> <td>String</td> </tr> <tr> <td>realName</td> <td>真实姓名,已经脱敏</td> <td>String</td> </tr> <tr> <td>idCard</td> <td>身份证号,已经脱敏</td> <td>String</td> </tr> <tr> <td>email</td> <td>电子邮件</td> <td>String</td> </tr> <tr> <td>gender</td> <td>性别:m男、f女、n未知</td> <td>String</td> </tr> <tr> <td>avatarUrl</td> <td>头像</td> <td>String</td> </tr> <tr> <td>createTime</td> <td>用户创建时间,时间戳</td> <td>int</td> </tr> <tr> <td>updateTime</td> <td>用户更新时间,时间戳</td> <td>int</td> </tr> <tr> <td>hasPassword</td> <td>是否设置过密码,0:没有,1:有</td> <td>int</td> </tr> <tr> <td>phone</td> <td>手机号码</td> <td>String</td> </tr> <tr> <td>birthday</td> <td>生日,如2001-01-02</td> <td>String</td> </tr> <tr> <td>isVisitor</td> <td>是否游客 0:不是 1:是</td> <td>int</td> </tr> <tr> <td>city</td> <td>市</td> <td>String</td> </tr> <tr> <td>address</td> <td>住址</td> <td>String</td> </tr> <tr> <td>country</td> <td>国家</td> <td>String</td> </tr> <tr> <td>province</td> <td>省</td> <td>String</td> </tr> </tbody> </table> <p><strong>player</strong></p> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> </tr> </thead> <tbody> <tr> <td>playerId</td> <td>玩家ID</td> <td>Long</td> </tr> <tr> <td>nickname</td> <td>昵称</td> <td>String</td> </tr> <tr> <td>image</td> <td>头像</td> <td>String</td> </tr> <tr> <td>loginTime</td> <td>登录时间,时间戳</td> <td>int</td> </tr> <tr> <td>loginType</td> <td>登录类型</td> <td>String</td> </tr> <tr> <td>bindType</td> <td>登录过的类型</td> <td>List<String></td> </tr> <tr> <td>phone</td> <td>手机</td> <td>String</td> </tr> <tr> <td>isNewComer</td> <td>是否新玩家 0:旧玩家,1:新玩家</td> <td>int</td> </tr> <tr> <td>channelId</td> <td>渠道ID</td> <td>String</td> </tr> <tr> <td>openId</td> <td>三方登录的唯一标识</td> <td>String</td> </tr> <tr> <td>unionid</td> <td>微信登录的唯一标识</td> <td>String</td> </tr> <tr> <td>realName</td> <td>真实姓名,已经脱敏</td> <td>String</td> </tr> <tr> <td>idCard</td> <td>身份证号,已经脱敏</td> <td>String</td> </tr> <tr> <td>currentLoginType</td> <td>当前登录类型</td> <td>String</td> </tr> <tr> <td>extend</td> <td>扩展信息</td> <td>Map</td> </tr> </tbody> </table> <p><strong>game</strong></p> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>游戏ID</td> <td>Long</td> </tr> <tr> <td>name</td> <td>游戏名称</td> <td>String</td> </tr> </tbody> </table> <p><strong>session</strong></p> <table> <thead> <tr> <th>参数</th> <th>说明</th> <th>类型</th> </tr> </thead> <tbody> <tr> <td>openId</td> <td>用户唯一标识</td> <td>String</td> </tr> <tr> <td>sessionId</td> <td></td> <td>String</td> </tr> </tbody> </table> <p>示例:</p> <pre><code class="language-json">{ "account": { "userId": 3800790992, "nickName": "杨辉", "realName": "杨*", "idCard": "3*************2218", "gender": "m", "avatarUrl": "http://upload-1254071568.cos.ap-guangzhou.myqcloud.com/902292/20190726164540026/fKfNO4pvNv7IAbiMtLKN.jpg", "createTime": 1561535067, "updateTime": 1570763515, "hasPassword": 1, "phone": "13725530664", "birthday": "2016-09-16", "isVisitor": 0, "city": "深圳", "country": "中国", "province": "广东" }, "player": { "playerId": 3800791067, "loginTime": 1571045891, "loginType": "Hphone", "bindType": [ "Huser", "Hphone" ], "phone": "13725530664", "isNewComer": 0, "openId": "3800790992", "currentLoginType": "Hcode", "extend": {} }, "game": { "id": 10255, "name": "杨辉测试APP" }, "session": { "openId": "a311619f80f91c61a1d5b6c3e38fc8bc", "sessionId": "b28f0c754cdab4f91a92e77db22a4d76" } }</code></pre> <h2>后台配置说明</h2> <p><strong>微服务控制台</strong></p> <blockquote> <p>需要登录微服务控制台,在登录应用服务,服务参数项增加对应的第三方登录配置信息。</p> </blockquote> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/08898248d01d297675a8a6bb5d4cef1a?showdoc=.jpg" alt="" /></p> <p><strong>业务控制台</strong></p> <blockquote> <p>登录业务控制台,选择准备接入H5授权登录的应用,在登录服务模块下,新增H5授权登录方式,填写配置参数。</p> </blockquote> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/7345353f6e3b369a65700548a16da613?showdoc=.jpg" alt="" /></p>

页面列表

ITEM_HTML