Ver Fonte

RIFFMASTER: BACKEND: enable registration in security and extended token expiry date

Kuba há 3 anos atrás
pai
commit
d7a4afbac5
33 ficheiros alterados com 59 adições e 30 exclusões
  1. 29 20
      Backend/Spring/.idea/workspace.xml
  2. 10 0
      Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.java
  3. 3 3
      Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.java
  4. 1 1
      Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/controller/SecurityController.java
  5. 4 1
      Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/CustomInterceptor.java
  6. 1 1
      Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/JwtTokenUtil.java
  7. BIN
      Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.class
  8. BIN
      Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.class
  9. BIN
      Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/controller/SecurityController.class
  10. BIN
      Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/security/CustomInterceptor.class
  11. BIN
      Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/security/JwtTokenUtil.class
  12. BIN
      Backend/Spring/target/classes/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.class
  13. BIN
      Backend/Spring/target/classes/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.class
  14. BIN
      Backend/Spring/target/classes/pl/dmcs/jwoszczyk/controller/SecurityController.class
  15. BIN
      Backend/Spring/target/classes/pl/dmcs/jwoszczyk/security/CustomInterceptor.class
  16. BIN
      Backend/Spring/target/classes/pl/dmcs/jwoszczyk/security/JwtTokenUtil.class
  17. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack
  18. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack
  19. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack
  20. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack
  21. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/16.pack
  22. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/17.pack
  23. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/18.pack
  24. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/4.pack
  25. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack
  26. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack
  27. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack
  28. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old
  29. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/3a74374eef35b46cd27e9644dfbe112bde9d4653fe65052cd6070d7c9c5fabdf.json
  30. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/b5c74c8c115a38796ea46c3240b6572508244a5432fd8109264f71b120a39b50.json
  31. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/ccdd7643d6e6d7ffe1fdf8714d15c6e280fc78dea5241d06577b4f8b758e272a.json
  32. 6 1
      Frontend/RiffMasterFront/.idea/workspace.xml
  33. 5 3
      Frontend/RiffMasterFront/src/app/Services/song.service.ts

+ 29 - 20
Backend/Spring/.idea/workspace.xml

@@ -10,6 +10,14 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="8315de53-8c15-472c-a710-45938463dc02" name="Changes" comment="RIFFMASTER: add frontend files">
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/Services/song.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/Services/song.service.ts" afterDir="false" />
     </list>
@@ -50,26 +58,26 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent"><![CDATA[{
-  "keyToString": {
-    "RunOnceActivity.OpenProjectViewOnStart": "true",
-    "RunOnceActivity.ShowReadmeOnStart": "true",
-    "SHARE_PROJECT_CONFIGURATION_FILES": "true",
-    "WebServerToolWindowFactoryState": "false",
-    "last_opened_file_path": "C:/Users/Kuba/Desktop/studia/WPFt/inne/oslo_boating_project-master/oslo_boating_project/boat-reservation-logic",
-    "node.js.detected.package.eslint": "true",
-    "node.js.detected.package.tslint": "true",
-    "node.js.selected.package.eslint": "(autodetect)",
-    "node.js.selected.package.tslint": "(autodetect)",
-    "nodejs_package_manager_path": "npm",
-    "project.structure.last.edited": "Artifacts",
-    "project.structure.proportion": "0.15",
-    "project.structure.side.proportion": "0.2",
-    "settings.editor.selected.configurable": "preferences.keymap",
-    "spring.configuration.checksum": "38008dd81c2f4d7985ecf6e0ce8af1d1",
-    "vue.rearranger.settings.migration": "true"
+  <component name="PropertiesComponent">{
+  &quot;keyToString&quot;: {
+    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
+    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
+    &quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
+    &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
+    &quot;last_opened_file_path&quot;: &quot;C:/Users/Kuba/Desktop/studia/WPFt/inne/oslo_boating_project-master/oslo_boating_project/boat-reservation-logic&quot;,
+    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
+    &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
+    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
+    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
+    &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
+    &quot;project.structure.last.edited&quot;: &quot;Artifacts&quot;,
+    &quot;project.structure.proportion&quot;: &quot;0.15&quot;,
+    &quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
+    &quot;settings.editor.selected.configurable&quot;: &quot;preferences.keymap&quot;,
+    &quot;spring.configuration.checksum&quot;: &quot;38008dd81c2f4d7985ecf6e0ce8af1d1&quot;,
+    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
   }
-}]]></component>
+}</component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
       <recent name="C:\Users\Kuba\Desktop\studia\WPFt\RiffMaster web application\Backend\Spring\src\main\java\pl\dmcs\jwoszczyk\RiffMaster" />
@@ -222,7 +230,8 @@
       <workItem from="1687011079341" duration="18876000" />
       <workItem from="1687039482556" duration="614000" />
       <workItem from="1687040353033" duration="220000" />
-      <workItem from="1687069497459" duration="18536000" />
+      <workItem from="1687069497459" duration="19142000" />
+      <workItem from="1687166331886" duration="2720000" />
     </task>
     <task id="LOCAL-00001" summary="add basic hello world and transfering data to server">
       <created>1679575346987</created>

+ 10 - 0
Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.java

@@ -86,6 +86,7 @@ public class SecurityConfiguration {
                         .requestMatchers("/pdf/**").permitAll()
                         .requestMatchers("/login*").anonymous()
                         .requestMatchers("/riffmaster/login*").anonymous()
+                        .requestMatchers("/register*").anonymous()
                         .anyRequest().authenticated()
                 )
                 .logout(logout -> logout
@@ -99,4 +100,13 @@ public class SecurityConfiguration {
         return http.build();
     }
 
+//    @Bean
+//    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
+//        http.authorizeHttpRequests().anyRequest().authenticated();
+//        http.formLogin();
+//        http.cors().and().csrf().disable();
+//
+//        return http.build();
+//    }
+
 }

+ 3 - 3
Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.java

@@ -74,9 +74,9 @@ public class SpringConfiguration implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) { // configures an interceptor that switches the language
                                                                 // based on the 'lang' parameter in the request
-        LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
-        interceptor.setParamName("lang");
-        registry.addInterceptor(interceptor);
+//        LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
+//        interceptor.setParamName("lang");
+//        registry.addInterceptor(interceptor);
         registry.addInterceptor(new CustomInterceptor());
     }
 

+ 1 - 1
Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/controller/SecurityController.java

@@ -43,7 +43,7 @@ public class SecurityController {
     public ResponseEntity<?> Register(@Valid @RequestBody AppUser user, BindingResult bindingResult)
     {
         // --------------------------------------------------------------------------------- validation check
-
+        System.out.println("in resister controller");
         if (bindingResult.hasErrors()) {
             List<String> errors = bindingResult.getAllErrors()
                                                 .stream()

+ 4 - 1
Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/CustomInterceptor.java

@@ -53,6 +53,7 @@ public class CustomInterceptor implements HandlerInterceptor {
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 
         System.out.println("\n#######################################################################START PRE HANDLING A REQUEST");
+
         if (Objects.equals(request.getMethod(), "OPTIONS")) {
             response.setHeader("Access-Control-Allow-Origin", "*");
             response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
@@ -60,18 +61,20 @@ public class CustomInterceptor implements HandlerInterceptor {
             response.setHeader("Access-Control-Max-Age", "3600");
             return true;
         }
+
         System.out.println("test: " + request.getHeader("access-control-request-headers"));
         System.out.println("test here: " + request.getHeader("access-control-request-headers.authorization"));
 
         String endpoint = request.getRequestURI();
-//        System.out.println(request.getHeaderNames().toString());
         Enumeration<String> headerNames = request.getHeaderNames();
+
         while (headerNames.hasMoreElements()) {
             String headerName = headerNames.nextElement();
             String headerValue = request.getHeader(headerName);
             System.out.println(headerName + ": " + headerValue);
         }
 
+        System.out.println(endpoint);
 
         if (noAuth.contains(endpoint)) {
             System.out.println("no auth required for this request\n");

+ 1 - 1
Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/JwtTokenUtil.java

@@ -17,7 +17,7 @@ public class JwtTokenUtil {
 
     private static final String SECRET_KEY = "SuperSecureKey2023".repeat(5); // Replace with your own secret key
     //    private static final long EXPIRATION_TIME = 86400000; // 24 hours in milliseconds
-    private static final long EXPIRATION_TIME = 1000 * 60; // 60 sec
+    private static final long EXPIRATION_TIME = 1000 * 60 * 60 * 2; // 60 sec
 
     public static String generateToken(String username, Set<String> roles) {
         // ---------------------------------------------------------------Set token expiration time

BIN
Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.class


BIN
Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.class


BIN
Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/controller/SecurityController.class


BIN
Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/security/CustomInterceptor.class


BIN
Backend/Spring/target/Spring-1.0-SNAPSHOT/WEB-INF/classes/pl/dmcs/jwoszczyk/security/JwtTokenUtil.class


BIN
Backend/Spring/target/classes/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.class


BIN
Backend/Spring/target/classes/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.class


BIN
Backend/Spring/target/classes/pl/dmcs/jwoszczyk/controller/SecurityController.class


BIN
Backend/Spring/target/classes/pl/dmcs/jwoszczyk/security/CustomInterceptor.class


BIN
Backend/Spring/target/classes/pl/dmcs/jwoszczyk/security/JwtTokenUtil.class


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/16.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/17.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/18.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/4.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/3a74374eef35b46cd27e9644dfbe112bde9d4653fe65052cd6070d7c9c5fabdf.json


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/b5c74c8c115a38796ea46c3240b6572508244a5432fd8109264f71b120a39b50.json


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/ccdd7643d6e6d7ffe1fdf8714d15c6e280fc78dea5241d06577b4f8b758e272a.json


+ 6 - 1
Frontend/RiffMasterFront/.idea/workspace.xml

@@ -6,7 +6,11 @@
   <component name="ChangeListManager">
     <list default="true" id="d91bc08d-d968-4797-8fb3-ef602a37db2a" name="Changes" comment="RIFFMASTER: add frontend business logic (riff, song)">
       <change beforePath="$PROJECT_DIR$/../../Backend/Spring/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SecurityConfiguration.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/configuration/SpringConfiguration.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/controller/SecurityController.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/controller/SecurityController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/CustomInterceptor.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/CustomInterceptor.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/JwtTokenUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/../../Backend/Spring/src/main/java/pl/dmcs/jwoszczyk/security/JwtTokenUtil.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -113,7 +117,8 @@
       <workItem from="1687011087000" duration="9476000" />
       <workItem from="1687039479377" duration="859000" />
       <workItem from="1687040351475" duration="221000" />
-      <workItem from="1687069506147" duration="11478000" />
+      <workItem from="1687069506147" duration="12962000" />
+      <workItem from="1687166414054" duration="1401000" />
     </task>
     <task id="LOCAL-00001" summary="RIFFMASTER: add frontend project">
       <created>1685976235580</created>

+ 5 - 3
Frontend/RiffMasterFront/src/app/Services/song.service.ts

@@ -120,15 +120,17 @@ export class SongService {
       .set('Content-Type', 'application/json')
       .set('Authorization', sessionStorage.getItem("jwtToken")!);
 
-
-
     return this.http.get(`${this.pdfUrl}/${songId}`, { responseType: 'blob', headers: headers });
   }
 
 
   deleteSong(id: number): Observable<void> {
+    const headers = new HttpHeaders()
+      .set('Content-Type', 'application/json')
+      .set('Authorization', sessionStorage.getItem("jwtToken")!);
+
     const url = `${this.apiUrl}/${id}`;
-    return this.http.delete<void>(url);
+    return this.http.delete<void>(url, {headers});
   }
 
 

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff