
Learn what api documentation is and why to secure it with Swagger, api keys, and jwt, then implement and configure Swagger to issue keys in an Angular app.
Explore how to use swagger api documentation to try endpoints, log in to obtain a jwt token, and authorize requests with an api key to see real responses.
Develop a foundation in Java, Spring, and security to configure Swagger on an existing Java Spring app, and gain API concepts, JSON Web Tokens, Angular, and TypeScript familiarity.
Explore the course outline for securing Swagger api documentation with an api key, covering api documentation basics, Swagger configuration, security concepts, and building a sample app from scratch.
Take the security course first, then learn to secure an API with Swagger and JWT. Watch all lectures, code along, and ask questions for fast help.
Install Java, Node.js with npm, and the Angular CLI to set up the Java Spring Boot backend and the Angular frontend.
Explain how API documentation serves as a thorough technical deliverable that shows developers and non-technical users how to access endpoints, call parameters, and authenticate with an API.
Improve user adoption and awareness with a detailed, easy-to-use API documentation. Save time and money by reducing emails, and support maintenance by clarifying API methods and domains.
Explore Swagger as a tool to create API documentation for RESTful APIs, and understand how its interface description language describes RESTful endpoints.
Explore a simple invoice management api built with Spring Boot, detailing Swagger security with an api key and jwt, including repository, service, and CRUD endpoints.
Add the swagger dependency to the pom file using version 3 to pull in the necessary swagger jars. This setup prepares the app for the upcoming swagger configuration.
Configure a swagger configuration class with api key or jwt token access and a security reference. Outline swagger ui content, including title, description, contact, terms, and invoice management api tag.
Refactor swagger configuration by moving constants to a new public class in a dedicated package and configuring a swagger 2 docket with modular API info, contact, and license details.
Configure Swagger to use an API key in the authorization header, define a security context and security references, and set an unlimited authorization scope.
Configure Swagger documentation with a security context and API key in the header, select REST controllers by annotation, define paths and tags, and enable the try out UI.
Test the application and verify Swagger UI on port 8081 shows invoice service APIs under the invoice service tag, with the API key in the authorization header.
discover how to extend Swagger docs with two additional beans—security configuration for API key or OAuth and a customizable UI configuration—enhancing authentication, UI display, and request timing.
this lecture demonstrates testing Swagger UI with an API key by passing a token in the authorization header and fetching invoices via the try it out feature.
Learn to customize model classes for Swagger API documentation by annotating properties with API model property and adding notes, examples, and data types for invoices, customers, and products.
Explore resource configuration to customize Swagger documentation by annotating endpoints with API operation and response codes, detailing required parameters such as invoices, and aligning descriptions with configuration vs code.
Develop the Angular front end by building a login page with a prebuilt HTML template, emphasizing template sourcing, credit, and customization for UI setup.
Learn to create an Angular app on Linux using the Angular CLI, generate components, services, guards, and interceptors, set up routing, and run a local server.
Generate a login component with Engy, skip the test, then begin implementing the user service to fetch data from the backend, establishing it as the app's data backbone.
Import the EDP and HTTP client modules, inject the EDP client, and implement a login method posting credentials and returning the full HTTP response to access the JWT in headers.
Continue building the user service by handling update and delete with form data and typed requests. Concatenate the username to the url as the backend expects and call the endpoints.
Add user and token caching in local storage by saving as strings, parsing on retrieval, and removing on logout, with development versus production security notes.
Explore implementing a JWT-based login check using a helper library to decode tokens, verify expiration, and determine if a user is logged in by inspecting cached token and user data.
Build a secure login component in Angular with a validated form, handle submission, route to the home page on success, and store the JWT token from response headers.
Implement login flow in Angular, handle loading state and navigation to home, process success and error responses, and manage subscriptions with on destroy to prevent memory leaks.
Demonstrate testing the login component in an Angular app by configuring routes, a canActivate guard, and a router outlet, with Bootstrap styling and form validation for secure access.
Learn to implement a route guard that uses an authentication service to check if a user is logged in, returning true or false and redirecting to login when needed.
Implement an interceptor to automatically attach a bearer token to API requests, cloning and delegating headers while skipping login calls for secure front-to-back communication.
Test the login flow by authenticating a user, generating a jwt, placing it in the authorization header, and storing the token in local storage before redirecting to the home page.
Build the home page from a modified template, featuring a navigation bar with logout and profile, security, settings tabs, a map of login location, and token details with copy functionality.
Update the current user name using two way binding to reflect form changes, create form data, and submit to the backend via a subscription while showing loading and handling responses.
Implement delete user flow by calling the user service with the username, then log out and navigate to login. Toggle the button text between Shotokan and hide tokin.
Learn to copy an API token to the clipboard when users click the token, show a copied confirmation modal, and compare two implementation approaches while ensuring proper cleanup.
Integrate the Leaflet map library into an Angular app, obtain the user's location, configure a tile layer, and add a centered map with a marker and popup.
Learn how to obtain a token to fetch a map tile, integrate the tile into your app, and manage tokens and security settings from the profile and security tabs.
Learn how to secure Swagger API documentation with an API key by running the application, authenticating to obtain a token, and authorizing requests to see protected responses.
API stands for Application Programming Interface. An API is a software intermediary that allows two applications to communicate and exchange data. It is one of the main drivers of our world of communication as we know today.
API documentation is a technical content deliverable, containing instructions about how to effectively use and integrate with an API. It’s a concise reference manual containing all the information required to work with the API, with details about the functions, classes, return types, arguments and more, supported by tutorials and examples. In this course, you will learn how to use Swagger to generate the API Documentation of any Spring Boot Application. This course covers how to add the main Swagger configuration class to configuring and customizing the Swagger User Interface.
This course also dives into Angular components, Angular Forms, Angular Routing, and Angular Services. It goes into Angular HTTP Communication, Angular Guard, and Angular Interceptors to manage Caching (web cache or HTTP cache) to create a front end application to allow user to get an API Key.