Security is a field that teams often do not pay close attention to when developing their products. There are a few key considerations that developers should keep in mind when writing code. Most of the considerations listed in this chapter are obvious, but others aren't, so we will discuss all of them.
We will cover, the following topics in this chapter:
- Why security is important as part of an application's architecture
- Key recommendations for keeping your software secure:
- Authentication and authorization
- Cryptographic
- Data input validation
- Sensitive data
- Social engineering
- Penetration testing
- Authentication as a service
We will start by introducing the importance of security as part of an application's architecture.