Exemple #1
0
        /// <summary>
        /// Parses a string into an instance of JwtSecurityToken.
        ///
        /// If the 'jwtToken' is in JWE Compact Serialization format, only the protected header will be deserialized. Use ParseToken() to obtain the payload.
        ///
        /// JwtSecurityToken see: https://docs.microsoft.com/en-us/dotnet/api/system.identitymodel.tokens.jwt.jwtsecuritytoken?view=azure-dotnet
        /// </summary>
        /// <param name="input">Parameters for the token parsing.</param>
        /// <returns>JwtSecurityToken</returns>
        public static dynamic ReadToken([PropertyTab] ReadTokenInput input)
        {
            if (input == null)
            {
                return(null);
            }
            var handler = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler();

            return(handler.ReadJwtToken(input.JWTToken));
        }
        public void ReadToken_ShouldGetData()
        {
            var input = new ReadTokenInput()
            {
                JWTToken = AuthHeader.Replace("Bearer ", "")
            };
            var token = Validator.ReadToken(input);

            Assert.AreEqual(token.Issuer, "https://frends.eu.auth0.com/");
        }
        public void ReadToken_ShouldGetDataFromShortToken()
        {
            var input = new ReadTokenInput()
            {
                JWTToken = JwtExampleToken
            };
            var token = Validator.ReadToken(input);

            Assert.AreEqual(token.SignatureAlgorithm, "HS256");
            Assert.AreEqual(token.Issuer, null);
            Assert.AreEqual(token.Payload["name"], "John Doe");
        }