/// <summary>
        /// Issues the token.
        /// </summary>
        /// <param name="scope">The scope.</param>
        /// <param name="claims">The claims.</param>
        /// <returns>System.String.</returns>
        private string IssueToken(Uri scope, params Claim[] claims)
        {
            var tokenIssuer = SecurityConfiguration.Instance.TokenIssuer;

            if (tokenIssuer != null)
            {
                return(SimpleWebToken.Create(tokenIssuer.Uri, scope, DateTime.UtcNow + tokenIssuer.Lifetime,
                                             tokenIssuer.SignatureKey, claims));
            }
            return("");
        }
        public string AuthenticateUser(string userName, string password, Uri scope)
        {
            string token = null;
            string role  = userName == "Administrator" ? "adminis" : "everyone";

            if (_validUsers.Any(u => string.Equals(u, userName, StringComparison.OrdinalIgnoreCase)))
            {
                token = SimpleWebToken.Create(_tokenIssuer, scope, DateTime.UtcNow.AddHours(1), _tokenSignatureKey,
                                              new Claim(ClaimTypes.Name, userName),
                                              new Claim(ClaimTypes.NameIdentifier, "ID"),
                                              new Claim(ClaimTypes.Role, role)
                                              );
            }

            return(token);
        }