MiniAPPToken.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. using MessagePack;
  2. using Microsoft.WindowsAzure.Storage.Table;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. using TEAMModelOS.SDK.Context.Attributes.Azure;
  7. namespace HiTeachCC.Model.Core.Models
  8. {
  9. /// <summary>
  10. /// access_token 的存储与更新
  11. ///access_token 的存储至少要保留 512 个字符空间;
  12. ///access_token 的有效期目前为 2 个小时,需定时刷新,重复获取将导致上次获取的 access_token 失效;
  13. ///建议开发者使用中控服务器统一获取和刷新 access_token,其他业务逻辑服务器所使用的 access_token 均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致 access_token 覆盖而影响业务;
  14. ///access_token 的有效期通过返回的 expire_in 来传达,目前是7200秒之内的值,中控服务器需要根据这个有效时间提前去刷新。在刷新过程中,中控服务器可对外继续输出的老 access_token,此时公众平台后台会保证在5分钟内,新老 access_token 都可用,这保证了第三方业务的平滑过渡;
  15. ///access_token 的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新 access_token 的接口,这样便于业务服务器在API调用获知 access_token 已超时的情况下,可以触发 access_token 的刷新流程。
  16. /// </summary>
  17. [TableSpace(Name = "Core")]
  18. [MessagePackObject(keyAsPropertyName: true)]
  19. public class MiniAPPToken :TableEntity
  20. {
  21. public string access_token { get; set; }
  22. public int expires_in { get; set; }
  23. /// <summary>
  24. /// -1 系统繁忙,此时请开发者稍候再试
  25. /// 0 请求成功
  26. /// 40001 AppSecret 错误或者 AppSecret 不属于这个小程序,请开发者确认 AppSecret 的正确性
  27. /// 40002 请确保 grant_type 字段值为 client_credential
  28. /// 40013 不合法的 AppID,请开发者检查 AppID 的正确性,避免异常字符,注意大小写
  29. /// </summary>
  30. public int errcode { get; set; }
  31. public string errmsg { get; set; }
  32. }
  33. }