예제 #1
0
        public void SetUp()
        {
            secureTokenCreator = A.Fake <ISecureTokenCreator>();

            browser = new Browser(with =>
            {
                with.Module <LoginModule>();
                with.Dependency <UserData>();
                with.Dependency(secureTokenCreator);
            }, with =>
            {
                with.HttpsRequest();
            });
        }
예제 #2
0
        public LoginModule(UserData userData, ISecureTokenCreator secureTokenCreator)
        {
            this.RequiresHttps();

            Post["/login"] = p =>
            {
                var credentials = this.Bind<Credentials>();

                var user = userData.ValidateUser(credentials.UserName, credentials.Password);

                if (user is InvalidUser)
                    return HttpStatusCode.Unauthorized;

                var encodedToken = secureTokenCreator.CreateToken(user);
                return Response.AsJson(encodedToken);
            };
        }
예제 #3
0
        public LoginModule(UserData userData, ISecureTokenCreator secureTokenCreator)
        {
            this.RequiresHttps();

            Post["/login"] = p =>
            {
                var credentials = this.Bind <Credentials>();

                var user = userData.ValidateUser(credentials.UserName, credentials.Password);

                if (user is InvalidUser)
                {
                    return(HttpStatusCode.Unauthorized);
                }

                var encodedToken = secureTokenCreator.CreateToken(user);
                return(Response.AsJson(encodedToken));
            };
        }