コード例 #1
0
        /// <summary>
        /// Производит аутентификацию текущего подключения.
        /// </summary>
        internal IActionResult SignIn(AccessToken accessToken)
        {
            // Расшифрованный токен полученный от пользователя.
            byte[] decripted;

            try
            {
                // Расшифровать токен.
                decripted = Jwt.DecryptToBytes(accessToken);
            }
            catch (Exception)
            {
                return(new BadRequestResult("Токен не валиден"));
            }

            ServerAccessToken bearerToken;

            try
            {
                using (var mem = new MemoryStream(decripted, 0, decripted.Length, false, true))
                {
                    bearerToken = ProtoBuf.Serializer.Deserialize <ServerAccessToken>(mem);
                }
            }
            catch (Exception)
            {
                return(new BadRequestResult("Токен не валиден"));
            }

            return(SignIn(bearerToken));
        }