diff --git a/core/pom.xml b/core/pom.xml
index a68de1a..3f51027 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -83,7 +83,7 @@
net.miarma
backlib
- 1.1.0
+ 1.1.1
diff --git a/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java b/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java
index de6677b..2fdb89f 100644
--- a/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java
+++ b/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java
@@ -38,7 +38,7 @@ public class PasteController {
@GetMapping("/{paste_key}")
public ResponseEntity getByKey(
@PathVariable("paste_key") String pasteKey,
- @RequestParam(value = "password", required = false) String password
+ @RequestHeader(value = "X-Paste-Password", required = false) String password
) {
return ResponseEntity.ok(
PasteMapper.toResponse(pasteService.getByKey(pasteKey, password))
diff --git a/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java b/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java
index b0fae35..74df2d9 100644
--- a/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java
+++ b/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java
@@ -46,7 +46,7 @@ public class PasteService {
.orElseThrow(() -> new NotFoundException("Paste not found"));
if(Boolean.TRUE.equals(paste.isPrivate())) {
- if(password == null || passwordEncoder.matches(password, paste.getPassword())) {
+ if(password == null || !passwordEncoder.matches(password, paste.getPassword())) {
throw new ForbiddenException("Incorrect password");
}
}
@@ -63,6 +63,12 @@ public class PasteService {
public Paste create(Paste paste) {
PasteValidator.validate(paste);
+
+ if (Boolean.TRUE.equals(paste.isPrivate()) && paste.getPassword() != null) {
+ String encodedPassword = passwordEncoder.encode(paste.getPassword());
+ paste.setPassword(encodedPassword);
+ }
+
paste.setPasteId(UUID.randomUUID());
paste.setPasteKey(PasteKeyGenerator.generate(6));
return pasteRepository.save(paste);