You always end up coming to it. It's inevitable. It cannot be helped. Yep, it's time to write a custom validator for your shiny new Angular application. So how do you do that in Angular 4? And more importantly: how do you test it?
Being the test-driven developer that you are, you are writing a Jasmine test for your AngularJS factory function, which returns a promise generated by our beloved $q. You know how to test an asynchronous response with Jasmine. You confidently run the test and... bam, you get an error message "Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL"
You are developing your web client (AngularJS or any other) against your REST services' server, secured using cookies-based sessions and CSRF tokens sent as cookies. You've done everything by the book, followed the tutorials to make your security work, especially CORS and CSRF tokens. And yet you still get a pesky 403 when trying to login!
After a summer break we return to our secure web client / REST-based solution: in this post we examine how our AngularJS-based web client should behave in order to comply with the security measures we've enforced on the server side.
A full, secure implementation of a solution for web-client, REST-based systems using AngularJS and Spring and addressing authentication, CORS and CSRF aspects. The full, working code is available on GitHub. In this part, we setup the project and examine how CORS is configured on the server side.
It's might not be a well-know feature, but AngularJS allows you to use the ng-required argument on input and textarea fields. And that can be quite handy!
Spring Security offers CSRF (cross-site request forgery) protection by default for Java web applications. In this post I will examine how you can make that CSRF protection work for a web client interacting with REST-based CSRF-protected services. Both the web client's code and the server application's configuration will be described.
Sometimes you don't need a huge framework for your web application. Client-side routing, for example, is something that can easily be achieved with a micro framework such as Crossroads. Let me give you a brief intro on how to setup a simple routing solution.