Exemple #1
0
 public TokenInfoController(ITokenInfoProvider tokenInfoProvider, IApiKeyContextProvider apiKeyContextProvider,
                            IAccessTokenClientRepo tokenClientRepo)
 {
     _tokenInfoProvider     = tokenInfoProvider;
     _apiKeyContextProvider = apiKeyContextProvider;
     _tokenClientRepo       = tokenClientRepo;
 }
Exemple #2
0
            protected override void Arrange()
            {
                _clientAppRepo          = A.Fake <IClientAppRepo>();
                _accessTokenClientRepo  = A.Fake <IAccessTokenClientRepo>();
                _apiClientAuthenticator = A.Fake <IApiClientAuthenticator>();

                _tokenRequest = new TokenRequest
                {
                    Client_id     = ClientId,
                    Client_secret = ClientSecret,
                    Grant_type    = "client_credentials"
                };

                _apiClientAuthenticator = A.Fake <IApiClientAuthenticator>();

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult <ApiClientAuthenticator.AuthenticationResult>(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity
                    {
                        Key = ClientId,
                    }
                }));
            }
            protected override Task ArrangeAsync()
            {
                // Scope the request to something not in list above
                _requestedScope = "1000";

                _suppliedAccessToken = Guid.NewGuid();

                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _suppliedClient = new ApiClient
                {
                    ApiClientId = 1
                };

                _apiClientAuthenticator = A.Fake <IApiClientAuthenticator>();

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity {
                        Key = "clientId", EducationOrganizationIds = new List <int>()
                        {
                            997, 998, 999
                        },
                        ApiClientId = _suppliedClient.ApiClientId
                    }
                }));

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
            protected override Task ArrangeAsync()
            {
                _suppliedClient = new ApiClient {
                    ApiClientId = 1
                };

                _suppliedAccessToken = Guid.NewGuid();

                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _apiClientAuthenticator = Stub <IApiClientAuthenticator>();

                A.CallTo(() => _accessTokenClientRepo.AddClientAccessTokenAsync(A <int> ._, A <string> ._))
                .Returns(
                    new ClientAccessToken(new TimeSpan(0, 10, 0))
                {
                    ApiClient = _suppliedClient,
                    Id        = _suppliedAccessToken
                });

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity {
                        Key = "clientId"
                    }
                }));

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
            protected override Task ArrangeAsync()
            {
                _suppliedClient = new ApiClient
                {
                    ApiClientId = 1
                };

                // Scope the request to something not in list above
                _requestedScope = "9a9";

                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _apiClientAuthenticator = A.Fake <IApiClientAuthenticator>();

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity {
                        Key = "clientId"
                    }
                }));

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
Exemple #6
0
 public ClientCredentialsTokenRequestProvider(
     IApiClientAuthenticator apiClientAuthenticator,
     IAccessTokenClientRepo accessTokenClientRepo)
 {
     _apiClientAuthenticator = apiClientAuthenticator;
     _accessTokenClientRepo  = accessTokenClientRepo;
 }
Exemple #7
0
 public TokenInfoController(ITokenInfoProvider tokenInfoProvider, IApiKeyContextProvider apiKeyContextProvider,
                            IAccessTokenClientRepo tokenClientRepo, ApiSettings apiSettings)
 {
     _tokenInfoProvider     = tokenInfoProvider;
     _apiKeyContextProvider = apiKeyContextProvider;
     _tokenClientRepo       = tokenClientRepo;
     _isEnabled             = apiSettings.IsFeatureEnabled(ApiFeature.TokenInfo.GetConfigKeyName());
 }
            protected override Task ArrangeAsync()
            {
                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _apiClientAuthenticator = Stub <IApiClientAuthenticator>();

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
            protected override Task ArrangeAsync()
            {
                _suppliedClient = new ApiClient
                {
                    ApiClientId = 1
                };

                _apiClientAuthenticator = Stub <IApiClientAuthenticator>();

                var ApplicationEducationOrganizations = new List <int>()
                {
                    997, 998, 999
                };

                // Scope the request to the first associated EdOrg
                _requestedScope = ApplicationEducationOrganizations
                                  .First()
                                  .ToString();

                _suppliedAccessToken = Guid.NewGuid();

                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                A.CallTo(() => _accessTokenClientRepo.AddClientAccessTokenAsync(A <int> ._, A <string> ._))
                .Returns(
                    new ClientAccessToken(new TimeSpan(0, 10, 0))
                {
                    ApiClient = _suppliedClient,
                    Id        = _suppliedAccessToken
                });

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity {
                        Key = "clientId",
                        EducationOrganizationIds = ApplicationEducationOrganizations,
                        ApiClientId = _suppliedClient.ApiClientId,
                    }
                }));

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
            protected override Task ArrangeAsync()
            {
                _suppliedClient = new ApiClient {
                    ApiClientId = 1
                };

                _suppliedAccessToken = Guid.NewGuid();

                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _apiClientAuthenticator = Stub <IApiClientAuthenticator>();

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
            protected override Task ArrangeAsync()
            {
                _accessTokenClientRepo = Stub <IAccessTokenClientRepo>();

                _apiClientAuthenticator = Stub <IApiClientAuthenticator>();

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult(
                        new ApiClientAuthenticator.AuthenticationResult {
                    IsAuthenticated = false
                }));

                _controller = ControllerHelper.CreateTokenController(_apiClientAuthenticator, _accessTokenClientRepo);

                return(Task.CompletedTask);
            }
Exemple #12
0
            protected override void Arrange()
            {
                var apiClient = new ApiClient {
                    ApiClientId = 0
                };

                _accessTokenClientRepo  = A.Fake <IAccessTokenClientRepo>();
                _apiClientAuthenticator = A.Fake <IApiClientAuthenticator>();

                A.CallTo(() => _accessTokenClientRepo.AddClientAccessToken(A <int> ._, A <string> ._))
                .Returns(new ClientAccessToken {
                    ApiClient = new ApiClient()
                });

                _tokenRequest = new TokenRequest
                {
                    Client_id     = ClientId,
                    Client_secret = ClientSecret,
                    Grant_type    = "client_credentials"
                };

                var clientSecret = new ApiClientSecret
                {
                    IsHashed = true,
                    Secret   = ClientSecret
                };

                A.CallTo(() => _apiClientAuthenticator.TryAuthenticateAsync(A <string> ._, A <string> ._))
                .Returns(
                    Task.FromResult <ApiClientAuthenticator.AuthenticationResult>(
                        new ApiClientAuthenticator.AuthenticationResult
                {
                    IsAuthenticated   = true,
                    ApiClientIdentity = new ApiClientIdentity
                    {
                        Key = ClientId,
                        EducationOrganizationIds = new List <int>()
                        {
                            997, 998, 999
                        }
                    }
                }));
            }
        public static TokenController CreateTokenController(
            IClientAppRepo clientAppRepo,
            IApiClientAuthenticator apiClientAuthenticator,
            IAccessTokenClientRepo accessTokenClientRepo)
        {
            var tokenRequestProvider = new ClientCredentialsTokenRequestProvider(clientAppRepo, apiClientAuthenticator, accessTokenClientRepo);
            var controller           = new TokenController(tokenRequestProvider);
            var request = A.Fake <HttpRequest>();

            request.Method = "Post";
            request.Scheme = "http";

            A.CallTo(() => request.Host).Returns(new HostString("localhost", 80));

            request.PathBase    = "/";
            request.RouteValues = new RouteValueDictionary {
                { "controller", "authorize" }
            };

            var httpContext = A.Fake <HttpContext>();

            A.CallTo(() => httpContext.Request).Returns(request);

            var controllerContext = new ControllerContext()
            {
                HttpContext = httpContext,
            };

            var routeData = A.Fake <RouteData>();
            RouteValueDictionary dictionary = new RouteValueDictionary {
                { "controller", "authorize" }
            };

            controllerContext.RouteData  = new RouteData(dictionary);
            controller.ControllerContext = controllerContext;

            return(controller);
        }
 public DeleteExpiredTokensScheduledJob(IAccessTokenClientRepo accessTokenClientRepo)
 {
     _accessTokenClientRepo = Preconditions.ThrowIfNull(accessTokenClientRepo, nameof(accessTokenClientRepo));
 }
Exemple #15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OAuthTokenValidator"/> class.
 /// </summary>
 /// <param name="accessTokenClientRepo">The access token client repository</param>
 public OAuthTokenValidator(IAccessTokenClientRepo accessTokenClientRepo)
 {
     _accessTokenClientRepo = Preconditions.ThrowIfNull(accessTokenClientRepo, nameof(accessTokenClientRepo));
 }
Exemple #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiClientDetailsProvider"/> class.
 /// </summary>
 /// <param name="accessTokenClientRepo">The access token client repository</param>
 public ApiClientDetailsProvider(IAccessTokenClientRepo accessTokenClientRepo)
 {
     _accessTokenClientRepo = Preconditions.ThrowIfNull(accessTokenClientRepo, nameof(accessTokenClientRepo));
 }