The Authorization with Go course offers a comprehensive exploration of authorization principles and their implementation in Go applications. It begins with the fundamentals of authentication, laying the groundwork for access control. Participants will learn about Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC) to manage user permissions effectively. The course also covers best practices for securing APIs, ensuring robust protection against unauthorized access. Finally, practical skills are honed through a hands-on project, where learners will create a Task Management API, applying the concepts learned throughout the course to build a secure and efficient application.
Overview
Syllabus
- Authentication Fundamentals
- Master authentication in Go: explore auth vs. authorization, session and token methods, JWTs, secure user flows, and best practices for robust, scalable API security.
- Role-Based Access Control (RBAC)
- Learn how to design, implement, and enforce Role-Based Access Control (RBAC) in Go APIs for scalable, maintainable, and secure authorization using roles, permissions, and middleware.
- Attribute-Based Access Control (ABAC)
- Learn to implement Attribute-Based Access Control (ABAC) for fine-grained, dynamic permissions based on user, resource, and context, complementing RBAC for secure, scalable applications.
- Securing APIs
- Learn to secure APIs by defending against threats, using secure coding, logging, rate limiting, and testing to protect users, data, and infrastructure from real-world attacks.
- Project: Task Management API
- The task management API covers the concepts in this lesson and provides a real world application of how access and authorization works.
Taught by
Andrew Wong