Skip to content

KissLinkA-205/MJC-Authentication-and-Spring-Security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 MJC school : EPAM Systems
Minsk, Belarus (Минск, Беларусь)
module #4. Authentication & Spring Security

🎁 Materials

  1. Spring Security Architecture
  2. Securing a Web Application
  3. Иллюстрированное руководство по OAuth и OpenID Connect
  4. Spring Boot and OAuth2
  5. Introduction to JSON Web Tokens
  6. Tutorial: Create and Verify JWTs in Java
  7. Simple Token Authentication for Java Apps

🚀 Task

This module is an extension of REST API Advanced module and covers following topics:

  1. Spring Security framework
  2. Oauth2 and OpenId Connect
  3. JWT token

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. OAuth 2.0 is a security standard where you give one application permission to access your data in another application. The steps to grant permission, or consent, are often referred to as authorization or even delegated authorization. You authorize one application to access your data, or use features in another application on your behalf, without giving them your password. OpenID Connect (OIDC) is a thin layer that sits on top of OAuth 2.0 that adds login and profile information about the person who is logged in. JSON Web Tokens are JSON objects used to send information between parties in a compact and secure manner.

Application requirements

  1. Spring Security should be used as a security framework.
  2. Application should support only stateless user authentication and verify integrity of JWT token.
  3. Users should be stored in a database with some basic information and a password.

User Permissions:

 - Guest:
    * Read operations for main entity.
    * Signup.
    * Login.
 - User:
    * Make an order on main entity.
    * All read operations.
 - Administrator (can be added only via database call):
    * All operations, including addition and modification of entities.
  1. Get acquainted with the concepts Oauth2 and OpenId Connect
  2. (Optional task) Use Oauth2 as an authorization protocol. a. OAuth2 scopes should be used to restrict data. b. Implicit grant and Resource owner credentials grant should be implemented.
  3. (Optional task) It's allowed to use Spring Data. Requirement for this task - all repository (and existing ones) should be migrated to Spring Data.

About

MJC School module #4 - "Authentication & Spring Security"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages