From 6773b9b3e8bad1bb3bfa55f8bf71ab03305d1844 Mon Sep 17 00:00:00 2001 From: emanueltrandafir1993 Date: Sun, 11 Sep 2022 15:18:37 +0200 Subject: [PATCH] BAEL-5674: basic auth with Postman --- .../BasicAuthCollection.postman_collection | 62 +++++++++++++++++++ .../basic/PostmanBasicAuthApplication.java | 12 ++++ .../postman/basic/PostmanBasicAuthConfig.java | 30 +++++++++ .../basic/PostmanBasicAuthController.java | 14 +++++ 4 files changed, 118 insertions(+) create mode 100644 spring-security-modules/spring-security-web-rest-basic-auth/postman/BasicAuthCollection.postman_collection create mode 100644 spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthApplication.java create mode 100644 spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthConfig.java create mode 100644 spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthController.java diff --git a/spring-security-modules/spring-security-web-rest-basic-auth/postman/BasicAuthCollection.postman_collection b/spring-security-modules/spring-security-web-rest-basic-auth/postman/BasicAuthCollection.postman_collection new file mode 100644 index 0000000000..2364907ea8 --- /dev/null +++ b/spring-security-modules/spring-security-web-rest-basic-auth/postman/BasicAuthCollection.postman_collection @@ -0,0 +1,62 @@ +{ + "variables": [], + "info": { + "name": "Baeldung - Basic Auth", + "_postman_id": "a1e733bc-15ca-3c5d-7fdb-d119518ed3eb", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "using authorization tab", + "request": { + "url": "http://localhost:8080/postman-test", + "method": "GET", + "header": [ + { + "key": "admin", + "value": "baeldung", + "description": "", + "disabled": true + }, + { + "key": "Authorization", + "value": "Basic YWRtaW46YmFlbGR1bmc=", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "using header tab", + "request": { + "url": "http://localhost:8080/postman-test", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YmFlbGR1bmc=", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "using interceptor", + "request": { + "url": "http://localhost:8080/postman-test", + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthApplication.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthApplication.java new file mode 100644 index 0000000000..bacc069bde --- /dev/null +++ b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthApplication.java @@ -0,0 +1,12 @@ +package com.baeldung.postman.basic; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class PostmanBasicAuthApplication { + + public static void main(String[] args) { + SpringApplication.run(PostmanBasicAuthApplication.class, args); + } +} diff --git a/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthConfig.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthConfig.java new file mode 100644 index 0000000000..a6311972c2 --- /dev/null +++ b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthConfig.java @@ -0,0 +1,30 @@ +package com.baeldung.postman.basic; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; + +@Configuration +public class PostmanBasicAuthConfig extends WebSecurityConfigurerAdapter { + + @Override + protected void configure(HttpSecurity http) throws Exception { + http.csrf() + .disable() + .authorizeRequests() + .anyRequest() + .authenticated() + .and() + .httpBasic(); + } + + @Autowired + public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { + auth.inMemoryAuthentication() + .withUser("admin") + .password("{noop}baeldung2") + .roles("USER"); + } +} diff --git a/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthController.java b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthController.java new file mode 100644 index 0000000000..1658c6fad1 --- /dev/null +++ b/spring-security-modules/spring-security-web-rest-basic-auth/src/main/java/com/baeldung/postman/basic/PostmanBasicAuthController.java @@ -0,0 +1,14 @@ +package com.baeldung.postman.basic; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class PostmanBasicAuthController { + + @GetMapping("postman-test") + public String test() { + return "request was authorized!"; + } + +}