示例#1
0
        protected void OnSymbolClicked(object sender, EventArgs e)
        {
            Widget ctl = sender as Widget;

            if (ctl != null)
            {
                string num = Regex.Replace(ctl.Name, @"\D", "");
                byte   id  = byte.Parse(num);
                id--;

                if (currentPic >= _secretLength)
                {
                    data[_secretLength - 1] = id;
                    secretwidget1.SetSecret(data, _region);
                }
                else
                {
                    data[currentPic] = id;
                    currentPic++;
                    secretwidget1.SetSecret(data.Take(currentPic).ToArray(), _region);
                }

                txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray(), _region);
            }
        }
        private void SymbolButton_Click(object sender, RoutedEventArgs e)
        {
            // We do not have a JP keyboard
            _region = GameRegion.US;

            Control ctl = sender as Control;

            if (ctl != null)
            {
                string num = Regex.Replace(ctl.Name, @"\D", "");
                byte   id  = byte.Parse(num);

                if (currentPic >= _secretLength)
                {
                    data[_secretLength - 1] = id;
                    uxSecretDisplay.SetSecret(data, _region);
                }
                else
                {
                    data[currentPic] = id;
                    currentPic++;
                    uxSecretDisplay.SetSecret(data.Take(currentPic).ToArray(), _region);
                }

                txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray(), _region);
            }
        }
示例#3
0
        public static IClientSecretValidator CreateClientSecretValidator(IClientStore clients = null, SecretParser parser = null, SecretValidator validator = null, IdentityServerOptions options = null)
        {
            options = options ?? TestIdentityServerOptions.Create();

            if (clients == null)
            {
                clients = new InMemoryClientStore(TestClients.Get());
            }

            if (parser == null)
            {
                var parsers = new List <ISecretParser>
                {
                    new BasicAuthenticationSecretParser(options, TestLogger.Create <BasicAuthenticationSecretParser>()),
                    new PostBodySecretParser(options, TestLogger.Create <PostBodySecretParser>())
                };

                parser = new SecretParser(parsers, TestLogger.Create <SecretParser>());
            }

            if (validator == null)
            {
                var validators = new List <ISecretValidator>
                {
                    new HashedSharedSecretValidator(TestLogger.Create <HashedSharedSecretValidator>()),
                    new PlainTextSharedSecretValidator(TestLogger.Create <PlainTextSharedSecretValidator>())
                };

                validator = new SecretValidator(new StubClock(), validators, TestLogger.Create <SecretValidator>());
            }

            return(new ClientSecretValidator(clients, parser, validator, new TestEventService(), TestLogger.Create <ClientSecretValidator>()));
        }
 private void btnBack_Click(object sender, RoutedEventArgs e)
 {
     if (currentPic > 0)
     {
         currentPic--;
     }
     uxSecretDisplay.SetSecret(data.Take(currentPic).ToArray());
     txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray());
 }
示例#5
0
 protected void OnBtnBackClicked(object sender, EventArgs e)
 {
     if (currentPic > 0)
     {
         currentPic--;
     }
     secretwidget1.SetSecret(data.Take(currentPic).ToArray(), _region);
     txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray(), _region);
 }
 public DiscoveryEndpoint(IdentityServerOptions options, IdentityServerContext context, IScopeStore scopes, ILogger <DiscoveryEndpoint> logger, IEnumerable <IValidationKeysStore> keys, CustomGrantValidator customGrants, SecretParser parsers)
 {
     _options      = options;
     _scopes       = scopes;
     _logger       = logger;
     _context      = context;
     _customGrants = customGrants;
     _parsers      = parsers;
     _keys         = keys;
 }
 public DiscoveryEndpoint(IdentityServerOptions options, IScopeStore scopes, ILogger <DiscoveryEndpoint> logger, IKeyMaterialService keys, ExtensionGrantValidator extensionGrants, SecretParser parsers, IResourceOwnerPasswordValidator resourceOwnerValidator)
 {
     _options                = options;
     _scopes                 = scopes;
     _logger                 = logger;
     _extensionGrants        = extensionGrants;
     _parsers                = parsers;
     _keys                   = keys;
     _resourceOwnerValidator = resourceOwnerValidator;
 }
 public DiscoveryEndpoint(IdentityServerOptions options, IdentityServerContext context, IScopeStore scopes, ILogger <DiscoveryEndpoint> logger, ISigningKeyService keyService, CustomGrantValidator customGrants, SecretParser parsers)
 {
     _options      = options;
     _scopes       = scopes;
     _logger       = logger;
     _keyService   = keyService;
     _context      = context;
     _customGrants = customGrants;
     _parsers      = parsers;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientSecretValidator"/> class.
 /// </summary>
 /// <param name="clients">The clients.</param>
 /// <param name="parser">The parser.</param>
 /// <param name="validator">The validator.</param>
 /// <param name="events">The events.</param>
 /// <param name="logger">The logger.</param>
 public ClientSecretValidatorExt(IClientStore clients,
                                 SecretParser parser,
                                 SecretValidator validator,
                                 IEventService events,
                                 ILogger <ClientSecretValidator> logger)
 {
     _clients   = clients;
     _parser    = parser;
     _validator = validator;
     _events    = events;
     _logger    = logger;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiSecretValidator"/> class.
 /// </summary>
 /// <param name="resources">The resources.</param>
 /// <param name="parsers">The parsers.</param>
 /// <param name="validator">The validator.</param>
 /// <param name="events">The events.</param>
 /// <param name="logger">The logger.</param>
 public MyApiSecretValidatorExt(
     IResourceStore resources,
     SecretParser parsers,
     SecretValidator validator,
     IEventService events,
     ILogger <ApiSecretValidator> logger)
 {
     _resources = resources;
     _parser    = parsers;
     _validator = validator;
     _events    = events;
     _logger    = logger;
 }
示例#11
0
 public PluginHostClientSecretValidator(
     IEnumerable <IClientSecretValidatorPlugin> plugins,
     IClientStore clients,
     SecretParser parser,
     IEventService events,
     ILogger <PluginHostClientSecretValidator> logger)
 {
     _plugins = plugins.ToList();
     _clients = clients;
     _parser  = parser;
     _events  = events;
     _logger  = logger;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="IdentityServer4.Validation.ClientSecretValidator"/> class.
 /// </summary>
 /// <param name="clients">The clients.</param>
 /// <param name="parser">The parser.</param>
 /// <param name="validator">The validator.</param>
 /// <param name="events">The events.</param>
 /// <param name="logger">The logger.</param>
 public NoSecretRefreshClientSecretValidator(IClientStore clients, SecretParser parser,
                                             ISecretParserExtra secretParserExtra,
                                             SecretValidator validator,
                                             IEventService events, ILogger <IdentityServer4.Validation.ClientSecretValidator> logger)
 {
     StockClientSecretValidator = new ClientSecretValidator(clients, parser, validator, events, logger);
     _clients           = clients;
     _parser            = parser;
     _secretParserExtra = secretParserExtra;
     _validator         = validator;
     _events            = events;
     _logger            = logger;
 }
示例#13
0
        public void ParseString_JP()
        {
            string s1 = "かね6ごわ 4さをれか さ7ちわも るこぴりふ";
            string s2 = "kane 6 go wa 4 sa wore kasa 7 tiwa moru ko piriHu ";
            string s3 = "KaNe6GoWa 4SaWoReKa Sa7TiWaMo RuKoPiRiHu";
            string s4 = "KaNe6GoWa 4SaWoReKa Sa7ChiWaMo RuKoPiRiFu";

            byte[][] allSecrets = new[] {
                SecretParser.ParseSecret(s1, GameRegion.JP),
                SecretParser.ParseSecret(s2, GameRegion.JP),
                SecretParser.ParseSecret(s3, GameRegion.JP),
                SecretParser.ParseSecret(s4, GameRegion.JP)
            };
            Assert.That(allSecrets, Is.All.EquivalentTo(desiredSecretBytes_JP));
        }
示例#14
0
        public void ParseString()
        {
            string s1 = "H~2:@ ←2♦yq GB3●) 6♥?↑4";
            string s2 = "H~2:@ {left}2{diamond}yq GB3{circle}) 6{heart}?{up}4";
            string s3 = "H~2:@ left 2 diamond yq GB3 circle ) 6 heart ? up 4";
            string s4 = "H~2 :@LEFT2{dIAmoNd}yq G B3cirCle )6 heaRT}?    UP   4";

            byte[][] allSecrets = new[] {
                SecretParser.ParseSecret(s1, GameRegion.US),
                SecretParser.ParseSecret(s2, GameRegion.US),
                SecretParser.ParseSecret(s3, GameRegion.US),
                SecretParser.ParseSecret(s4, GameRegion.US)
            };
            Assert.That(allSecrets, Is.All.EquivalentTo(desiredSecretBytes));
        }
示例#15
0
        public void ParseString()
        {
            string s1 = "H~2:@ ←2♦yq GB3●( 6♥?↑6";
            string s2 = "H~2:@ {left}2{diamond}yq GB3{circle}( 6{heart}?{up}6";
            string s3 = "H~2:@ left 2 diamond yq GB3 circle ( 6 heart ? up 6";
            string s4 = "H~2 :@LEFT2{dIAmoNd}yq G B3cirCle (6 heaRT}?    UP   6";

            var allSecrets = new[] {
                SecretParser.ParseSecret(s1),
                SecretParser.ParseSecret(s2),
                SecretParser.ParseSecret(s3),
                SecretParser.ParseSecret(s4)
            };

            Assert.That(allSecrets, Is.All.EquivalentTo(DesiredSecretBytes));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="IdentityServer4.Validation.ClientSecretValidator"/> class.
 /// </summary>
 /// <param name="clients">The clients.</param>
 /// <param name="parser">The parser.</param>
 /// <param name="validator">The validator.</param>
 /// <param name="events">The events.</param>
 /// <param name="logger">The logger.</param>
 public NoSecretRefreshClientSecretValidator(
     ClientSecretValidator stockClientSecretValidator,
     IClientStore clients,
     SecretParser parser,
     ISecretParserExtra secretParserExtra,
     SecretValidator validator,
     IEventService events,
     ILogger <NoSecretRefreshClientSecretValidator> logger)
 {
     StockClientSecretValidator = stockClientSecretValidator;
     _clients           = clients;
     _parser            = parser;
     _secretParserExtra = secretParserExtra;
     _validator         = validator;
     _events            = events;
     _logger            = logger;
 }
 public DiscoveryResponseGenerator(
     IdentityServerOptions options,
     IResourceStore resourceStore,
     IKeyMaterialService keys,
     ExtensionGrantValidator extensionGrants,
     SecretParser secretParsers,
     IResourceOwnerPasswordValidator resourceOwnerValidator,
     ILogger <DiscoveryResponseGenerator> logger)
 {
     Options                = options;
     ResourceStore          = resourceStore;
     Keys                   = keys;
     ExtensionGrants        = extensionGrants;
     SecretParsers          = secretParsers;
     ResourceOwnerValidator = resourceOwnerValidator;
     Logger                 = logger;
 }
        private void txtSymbols_TextChanged(object sender, TextChangedEventArgs e)
        {
            // Only run parse logic when visible
            if (rdoEntryText.IsChecked == false)
            {
                return;
            }

            byte[] parsedSecret = null;
            try
            {
                parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, GameRegion.US);
                _region      = GameRegion.US;
            }
            catch (SecretException)
            {
                try
                {
                    parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, GameRegion.JP);
                    _region      = GameRegion.JP;
                }
                catch (SecretException) { /* Not parsable in either region */ }
            }

            if (parsedSecret == null)
            {
                return;
            }

            byte[] trimmedData = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

            uxSecretDisplay.SetSecret(trimmedData, _region);

            for (int i = 0; i < trimmedData.Length; ++i)
            {
                data[i] = trimmedData[i];
            }

            currentPic = (trimmedData.Length).Clamp(0, _secretLength);
        }
示例#19
0
        protected void OnTxtSymbolsChanged(object sender, EventArgs e)
        {
            if (notebook1.CurrentPage != 1)
            {
                return;
            }

            try
            {
                byte[] parsedSecret = SecretParser.ParseSecret(txtSymbols.Text, _region);
                byte[] trimmedData  = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

                secretwidget1.SetSecret(trimmedData, _region);

                for (int i = 0; i < trimmedData.Length; ++i)
                {
                    data[i] = trimmedData[i];
                }

                currentPic = (trimmedData.Length).Clamp(0, _secretLength);
            }
            catch (InvalidSecretException) { }
        }
示例#20
0
        private void txtSymbols_TextChanged(object sender, TextChangedEventArgs e)
        {
            // Only run parse logic when visible
            if (rdoEntryText.IsChecked == false)
            {
                return;
            }

            try
            {
                byte[] parsedSecret = SecretParser.ParseSecret(txtSymbols.Text);
                byte[] trimmedData  = parsedSecret.Take(parsedSecret.Length.Clamp(0, _secretLength)).ToArray();

                uxSecretDisplay.SetSecret(trimmedData);

                for (int i = 0; i < trimmedData.Length; ++i)
                {
                    data[i] = trimmedData[i];
                }

                currentPic = (trimmedData.Length).Clamp(0, _secretLength);
            }
            catch (InvalidSecretException) { }
        }
        private void CopySecret_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            string s = SecretParser.CreateString(_secret, _region);

            System.Windows.Clipboard.SetText(s);
        }
示例#22
0
        public void CreateString()
        {
            string testString = SecretParser.CreateString(desiredSecretBytes, GameRegion.US);

            Assert.AreEqual(desiredSecretString, testString);
        }
示例#23
0
        public void CreateString_JP()
        {
            string testString = SecretParser.CreateString(desiredSecretBytes_JP, GameRegion.JP);

            Assert.AreEqual(desiredSecretString_JP, testString);
        }
示例#24
0
 protected void OnNotebook1SwitchPage(object o, SwitchPageArgs args)
 {
     txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray(), _region);
 }
示例#25
0
 public void ParseInvalidString()
 {
     Assert.Throws <SecretException>(() => SecretParser.ParseSecret("INVALID", GameRegion.US));
 }
示例#26
0
 protected void OnBtnResetClicked(object sender, EventArgs e)
 {
     secretwidget1.Reset();
     currentPic      = 0;
     txtSymbols.Text = SecretParser.CreateString(data.Take(currentPic).ToArray(), _region);
 }
示例#27
0
 public void ParseInvalidBytes()
 {
     Assert.Throws <SecretException>(() => SecretParser.CreateString(new byte[] { 2, 15, 53, 21, 64 }, GameRegion.US));
 }
示例#28
0
        public void CreateString()
        {
            string testString = SecretParser.CreateString(DesiredSecretBytes);

            Assert.AreEqual(DesiredSecretString, testString);
        }
示例#29
0
 public void ParseInvalidString()
 {
     SecretParser.ParseSecret("INVALID");
 }
示例#30
0
 public void ParseInvalidBytes()
 {
     SecretParser.CreateString(new byte[] { 2, 15, 53, 21, 64 });
 }