Beispiel #1
0
        public virtual Task <OAuth1Credentials> GetCredentialsAsync()
        {
            var userId = Guid.NewGuid().ToString();

            var securityStrategy = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));

            var builder =
                new OAuthBuilder(
                    _uiFactory,
                    null,
                    securityStrategy);
            var facade = builder.BuildOAuth1Facade(
                _provider,
                new OAuth1Authentication(),
                _consumerKey,
                _consumerSecret,
                _callbackUrl);
            var template = builder.BuildOAuth1Template <TResourceProvider>(
                facade,
                _browserType,
                userId);

            return(template.GetAccessTokenCredentials(userId));
        }
        public void CheckingNoParameterValueWhenNoParameterValueExistsReturnsFalse()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                null);

            Assert.False(actual);
        }
        public void CheckingMatchingParameterValueReturnsTrue()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                expected);

            Assert.True(actual);
        }
        public void GettingParameterValueForUserTwiceReturnsSameParameterValue()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Assert.NotNull(expected);

            var actual = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Assert.Equal(expected, actual);
        }
        public void GettingParameterValueForUserTwiceAfterExpirationReturnsDifferentParameterValue()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromSeconds(1));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Assert.NotNull(expected);
            Thread.Sleep(2000);

            var actual = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Assert.NotEqual(expected, actual);
        }
        public void CheckingMatchingButExpiredParameterValueReturnsFalse()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromSeconds(1));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Thread.Sleep(2000);

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                expected);

            Assert.False(actual);
        }