예제 #1
0
        public ResponseResult <TokenDecodeResponseDTO> Decode(TokenDecodeRequestDTO request)
        {
            TokenDecodeResponseDTO response = new TokenDecodeResponseDTO();
            var app = OAuthAppCache.Get(request.Appid);

            if (app == null)
            {
                return(Fail <TokenDecodeResponseDTO>("无效的应用id", "0400"));
            }
            var ut = UserTokenProvider.DecryptAccessToken(request.Token);

            if (ut == null || !ut.Success)
            {
                return(Fail <TokenDecodeResponseDTO>("无效的token", "0400"));
            }
            if (ut.Content.AppId != app.Id)
            {
                return(Fail <TokenDecodeResponseDTO>("操作不允许", "0402"));
            }
            response = new TokenDecodeResponseDTO
            {
                Appid      = ut.Content.AppId,
                ExpireTime = ut.Content.Expire_Time,
                Usercode   = ut.Content.UserCode,
                Userid     = ut.Content.UserId
            };
            return(Success(response));
        }
예제 #2
0
 public override Task <TokenDecodeResponseDTO> Decode(TokenDecodeRequestDTO request, ServerCallContext context)
 {
     return(Task.Run(() =>
     {
         TokenDecodeResponseDTO response = new TokenDecodeResponseDTO();
         var app = OAuthAppCache.Get(request.Appid);
         if (app == null)
         {
             response.RetCode = "0400";
             response.RetMsg = "无效的应用id";
             return response;
         }
         var ut = UserTokenProvider.DecryptAccessToken(request.Token);
         if (ut == null || !ut.Success)
         {
             response.RetCode = "0400";
             response.RetMsg = "无效的token";
             return response;
         }
         if (ut.Content.AppId != app.Id)
         {
             response.RetCode = "0402";
             response.RetMsg = "操作不允许";
             return response;
         }
         response.RetCode = "0000";
         response.RetMsg = "ok";
         response.Data = new TokenDecodeResponseDTO.Types.Result
         {
             Appid = ut.Content.AppId,
             ExpireTime = ut.Content.Expire_Time.ToString(),
             Usercode = ut.Content.UserCode,
             Userid = ut.Content.UserId
         };
         return response;
     }));
 }