# 登录态管理

为了尽可能兼容微信小游戏的现有流程,在涉及到需要在美团小游戏内部使用用户相关验证时,可以直接调用mt.login进行操作,完整的交互流程与微信小游戏保持一致。

# 概念解释

code:小游戏开发者调用mt.login可以拿到用户的带有时效性的登录凭证,这个登录凭证就是code。在mt.login()中不直接获取用户id(mgcid)是为了安全考虑。code的时效性为5分钟, 如果五分钟内小程序的后台不拿着这个临时身份证到美团游戏开放平台换取用户id(mgcid)的话,那么这个这个临时凭证就会作废。总结来说就是一个临时凭证,用来向美团游戏开放平台换取用户id(mgcid)的。code在成功换取一次信息之后也会立即失效,即便凭证code生成时间还没过期。

AppId和AppSecret:AppId相当于一个小程序的身份证。矩阵平台为了确保拿code过来换取身份信息的人就是刚刚对应的小游戏开发者,到美团游戏开放平台上请求用户id时需要同时带上AppId和AppSecret。AppId和AppSecret是美团游戏开放平台鉴别开发者身份的重要信息,AppId是公开信息,泄露AppId不会带来安全风险,但AppSecret是开发者的隐私数据不应该泄露,如果发现泄露需要到小游戏管理平台进行重置AppSecret。

mgcid、accessToken: 当开发者服务器向美团游戏开放平台提供的参数(code,AppId,AppSecret)合法的话,接口会得到以下返回字段:

  • mgcid:美团小游戏用户的唯一标识,用来区分不同的美团小游戏用户。
  • accessToken: 美团游戏开放平台给开发者服务器颁发的身份凭证,开发者可以用accessToken请求美团游戏开放平台服务器的其他接口来获取一些其他信息。accessToken的意义是如果我们每次都通过小游戏前端mt.login()生成登录凭证code去美团游戏开放平台请求信息,步骤太多造成整体耗时比较严重。所以需要给开发者服务器颁发一个时效性更长的会话密钥(accessToken),accessToken也存在过期时间。

# 调用逻辑

登录态管理

jscode2session接⼝说明:

  • URL: https://mgc.meituan.com/mgc/gateway/api/v3/mg/jscode2session

  • Method: POST

  • Content-Type: application/json

  • 请求参数:

    参数 必选 类型 说明
    appId 是 String 应用id
    appSecret 是 String 应用密钥
    code 是 String 临时登录凭证code
    grantType 是 String 固定为:authorization_code
  • 返回参数: 联运游戏mgcId取mgcIds第一个元素即可。

    返回字段 字段类型 说明
    mgcIds List 玩家角色id集合
    mgcIdsStr List 同上(mgcId 为 String 类型)
    accessToken String 授权token
  • 返回示例:

    {
        "msg":"ok",
        "code":0,
        "data":{
            "mgcIds":[123456],
            "mgcIdsStr":["123456"],
            "accessToken":"nKnZGZ8=...."
        }
    }
    

通过 mt.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效对开发者透明,开发者只需要调用 mt.checkSession 接口检测当前用户登录态是否有效。

登录态过期后开发者可以再调用 mt.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。

上次更新: 8/10/2026, 5:36:37 PM