示例#1
0
        /// <summary>
        /// Recuperar la información de usuario del token
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public UsuariInfo DecodeJwtToken(string token)
        {
            // EXTRAE LA INFORMACIÓN DEL TOKEN JWT.
            var handler = new JwtSecurityTokenHandler();
            var _token  = handler?.ReadJwtToken(token);

            // CREA EL PERFIL DE INFORMACIÓN DEL USUARIO
            // A PARTIR DE LOS CLAIMS DEL TOKEN JWT
            var _usuarioInfo = new UsuariInfo()
            {
                Id = new Guid(_token?.Claims?.
                              SingleOrDefault(x => x.Type == "nameid")?.Value
                              ?? _token.Id),

                Email = _token?.Claims?.
                        SingleOrDefault(x => x.Type == "email")?.Value,

                Rol = _token?.Claims?.
                      SingleOrDefault(x => x.Type.Contains("role"))?.Value,

                ValidoDesde = _token.ValidFrom,

                ValidoHasta = _token.ValidTo
            };

            return(_usuarioInfo);
        }
示例#2
0
        protected override async System.Threading.Tasks.Task OnInitializedAsync()
        {
            // OBTENEMOS EL TOKEN DE ACCESO DE LA COOKIE.
            _tokenJWT = http.Context.Request.Cookies["_EmailApiToken"];
            emailFolderClient.BearerTokenJWT = _tokenJWT;

            UsuariInfo _usuarioInfo = _jwtTokenService.DecodeJwtToken(_tokenJWT);

            email = _usuarioInfo.Email;

            IEnumerable <EmailFolderDTO> aux = await emailFolderClient.EmailFolderGetAsync();

            carpetas = aux.ToList();
        }