luchob / softuni-spring-may-2024

Our common projects
16 stars 1 forks source link

Проблем с регистрация на user #46

Closed pako8101 closed 2 months ago

pako8101 commented 2 months ago

https://github.com/pako8101/HistoryAppNewSpring2024

Проблем с регистрация на user

нямаше проблем и изведнъж нещо сe омаза и не мога да открия проблема и при дебъг не го откривам....

luchob commented 2 months ago

Здравей!

Чекаутнах проекта и започнаха някакви дребни проблеми.

  1. email_username и password_email не бяха дефинирани в application.yaml => AppConfig не се зарежда, EmailScheduler не се зарежда.
  2. ArticleRepository има метод findAllByPeriod_Name, който трябва да е findAllByPeriod=>ArticleRepository не се зарежда.
  3. В commons.html някои линкове към css-a завършват с >, други с /> а има и някои дето изобщо не завършват:
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"
  1. ShiftImageServiceImpl има някакво пропърти ancient_images което също го няма в application.yaml

  2. В subscribe.html ботито и хедъра са разменени, като header е извън body.

    
    <header th:replace="fragments/commons::nav">

``` 6. Има css-и извън head-a. ``` ``` Очевидно, причината че не ти се визуализира subscribe е в това: ```
``` Като се коментира се показва страницата. Влязох вътре и там не е подравнено и не мога да разбера кой таг къде се отваря и затваря.... Предлагам ти, като първа стъпка да се изчисти проекта, да се сложат всички пропъртита които са необходими за да се пусне без да гърми. Да се оправи и да се форматира HTML-a. След това закоментирай секциите в commons::nav и ги разкоментирай една по една. Така проекта ще е в състояние, в което ще може лесно да се откриват грешките. След това, оправи и пакетната структура. Поздрави, Л.
pako8101 commented 2 months ago

Благодаря много, започвам :) Лека работа и до скоро

On Thu, Jul 18, 2024 at 1:10 PM Lachezar Balev @.***> wrote:

Здравей!

Чекаутнах проекта и започнаха някакви дребни проблеми.

  1. email_username и password_email не бяха дефинирани в application.yaml => AppConfig не се зарежда, EmailScheduler не се зарежда.
  2. ArticleRepository има метод findAllByPeriod_Name, който трябва да е findAllByPeriod=>ArticleRepository не се зарежда.
  3. В commons.html някои линкове към css-a завършват с >, други с /> а има и някои дето изобщо не завършват:

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"

4.

ShiftImageServiceImpl има някакво пропърти ancient_images което също го няма в application.yaml 5.

В subscribe.html ботито и хедъра са разменени, като header е извън body.

6. Има css-и извън head-a. Очевидно, причината че не ти се визуализира subscribe е в това:
Като се коментира се показва страницата. Влязох вътре и там не е подравнено и не мога да разбера кой таг къде се отваря и затваря.... Предлагам ти, като първа стъпка да се изчисти проекта, да се сложат всички пропъртита които са необходими за да се пусне без да гърми. Да се оправи и да се форматира HTML-a. След това закоментирай секциите в commons::nav и ги разкоментирай една по една. Така проекта ще е в състояние, в което ще може лесно да се откриват грешките. След това, оправи и пакетната структура. Поздрави, Л. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread.Message ID: ***@***.***>
pako8101 commented 2 months ago

Привет, направих каквото ме посъветва понаредиха се нещата, остана нещо странно когато опитам да вляза в login или subscribe формите през навбара дава бял екран, а когато опитам от някъде другаде отваря формите без проблем, и след това се оправя и от навбара, тестовете половината не работят за subscribe и addArticle... И един друг въпрос искам да достъпвам article по период направих си логиката и отделен контролер, но не ми дава да ги достъпя в таймлиф в отделните html файлове за всеки период?

Благодаря

On Thu, Jul 18, 2024 at 1:10 PM Lachezar Balev @.***> wrote:

Здравей!

Чекаутнах проекта и започнаха някакви дребни проблеми.

  1. email_username и password_email не бяха дефинирани в application.yaml => AppConfig не се зарежда, EmailScheduler не се зарежда.
  2. ArticleRepository има метод findAllByPeriod_Name, който трябва да е findAllByPeriod=>ArticleRepository не се зарежда.
  3. В commons.html някои линкове към css-a завършват с >, други с /> а има и някои дето изобщо не завършват:

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"

4.

ShiftImageServiceImpl има някакво пропърти ancient_images което също го няма в application.yaml 5.

В subscribe.html ботито и хедъра са разменени, като header е извън body.

6. Има css-и извън head-a. Очевидно, причината че не ти се визуализира subscribe е в това:
Като се коментира се показва страницата. Влязох вътре и там не е подравнено и не мога да разбера кой таг къде се отваря и затваря.... Предлагам ти, като първа стъпка да се изчисти проекта, да се сложат всички пропъртита които са необходими за да се пусне без да гърми. Да се оправи и да се форматира HTML-a. След това закоментирай секциите в commons::nav и ги разкоментирай една по една. Така проекта ще е в състояние, в което ще може лесно да се откриват грешките. След това, оправи и пакетната структура. Поздрави, Л. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread.Message ID: ***@***.***>
luchob commented 2 months ago

Здравей!

Проблемът с бялата страница е интересен. Може да прочетеш повече за него ето тук.

Тестовете не работят и така ще проработят много трудно. Причината е във вдигането на тестовия контекст. Как спринг разбира кои компоненти да влязат в контекста? Например как да се усети къде да търси @Service, @Repository и т.н. Отговорът е - чрез component scan. Т.е. сканира всички класове в даден root пакет и надолу. Само че, твоите пакети в main и test са различни. Трябва да ги направиш еднакви, както вече те посъветвах. Препоръчвам и да не съдържат главни букви заради някои особености в билда.

Относно последния проблем, не съм сигурен какво точно питаш, но допускам че се чудиш защо не можеш да достъпиш /articles/ANCIENT_GREECE. Причината е че имаш 2 контролера със сходни url maping-и и спринг не знае кой от двата да извика. Те са:

    ArticleByPeriodController.getArticlesByPeriod(HistoryAppGradleSecurity.model.enums.PeriodEnum), 
    ArticleController.getByCategory(HistoryAppGradleSecurity.model.enums.CategoryNameEnum)

Поздрави, Л.

pako8101 commented 2 months ago

Супер си, направо си бог, слад малко ще пробвам да оправя нещата, относно пакетите не ми разрешава да ги преименувам но пак ще мъча :)

On Sun 21 Jul 2024 at 13:13, Lachezar Balev @.***> wrote:

Здравей!

Проблемът с бялата страница е интересен. Може да прочетеш повече за него ето тук https://github.com/luchob/softuni-feb2023/issues/104.

Тестовете не работят и така ще проработят много трудно. Причината е във вдигането на тестовия контекст. Как спринг разбира кои компоненти да влязат в контекста? Например как да се усети къде да търси @Service, @Repository и т.н. Отговорът е - чрез component scan. Т.е. сканира всички класове в даден root пакет и надолу. Само че, твоите пакети в main и test са различни. Трябва да ги направиш еднакви, както вече те посъветвах. Препоръчвам и да не съдържат главни букви заради някои особености в билда.

Относно последния проблем, не съм сигурен какво точно питаш, но допускам че се чудиш защо не можеш да достъпиш /articles/ANCIENT_GREECE. Причината е че имаш 2 контролера със сходни url maping-и и спринг не знае кой от двата да извика. Те са:

ArticleByPeriodController.getArticlesByPeriod(HistoryAppGradleSecurity.model.enums.PeriodEnum),
ArticleController.getByCategory(HistoryAppGradleSecurity.model.enums.CategoryNameEnum)

Поздрави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2241554894, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74H7LWM573RJ3YHCWWZDZNOCV5AVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGU2TIOBZGQ . You are receiving this because you authored the thread.Message ID: @.***>

pako8101 commented 2 months ago

Привет Лъчо, по-добре са нещата, когато е удобно само погледни създаването на нов user/subscribe/ изведнъж започна да ми хвърля грешка, emailScheduler i recapchata(закоментирах я временно докато оправя грешката) да погледнеш къде греша.

Благодаря

On Sun, Jul 21, 2024 at 1:13 PM Lachezar Balev @.***> wrote:

Здравей!

Проблемът с бялата страница е интересен. Може да прочетеш повече за него ето тук https://github.com/luchob/softuni-feb2023/issues/104.

Тестовете не работят и така ще проработят много трудно. Причината е във вдигането на тестовия контекст. Как спринг разбира кои компоненти да влязат в контекста? Например как да се усети къде да търси @Service, @Repository и т.н. Отговорът е - чрез component scan. Т.е. сканира всички класове в даден root пакет и надолу. Само че, твоите пакети в main и test са различни. Трябва да ги направиш еднакви, както вече те посъветвах. Препоръчвам и да не съдържат главни букви заради някои особености в билда.

Относно последния проблем, не съм сигурен какво точно питаш, но допускам че се чудиш защо не можеш да достъпиш /articles/ANCIENT_GREECE. Причината е че имаш 2 контролера със сходни url maping-и и спринг не знае кой от двата да извика. Те са:

ArticleByPeriodController.getArticlesByPeriod(HistoryAppGradleSecurity.model.enums.PeriodEnum),
ArticleController.getByCategory(HistoryAppGradleSecurity.model.enums.CategoryNameEnum)

Поздрави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2241554894, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74H7LWM573RJ3YHCWWZDZNOCV5AVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGU2TIOBZGQ . You are receiving this because you authored the thread.Message ID: @.***>

luchob commented 2 months ago

Привет, малко ми е трудно да помагам отново защото:

  1. Когато чекаутна проекта има около 10-на липсващи пропъртита в application.yaml
  2. В описанието на проблема ти няма грешка и не съм сигурен как да репродуцирам проблема

Все пак, ако сложа dummy стойности на всичко, което липсва и направя догадки наистина след регистрация отивам на страницата с грешка. Дължи се на следното:

@PostMapping("/subscribe")
    public String subscribeConfirm(@Valid UserSubscribeBindingModel userSubscribeBindingModel,
                                   HttpServletRequest request,
                                   HttpServletResponse response, BindingResult bindingResult,
                                   RedirectAttributes redirectAttributes) {

       ....

        return "redirect:/login";
    }

След успешна регистрация отиваш на страница /login, която не съществува (няма такъв контролер). Оттам си с 404.

Поздрави, Л.

pako8101 commented 2 months ago

Привет, според мен гледаш тестовия application.yaml в титулярния са ми всички пропъртита много от пропъртитата Environment variables, то иначе нямаше да пали проекта :) Благодаря ще погледна контролера :)

On Wed 24 Jul 2024 at 19:02, Lachezar Balev @.***> wrote:

Привет, малко ми е трудно да помагам отново защото:

  1. Когато чекаутна проекта има около 10-на липсващи пропъртита в application.yaml
  2. В описанието на проблема ти няма грешка и не съм сигурен как да репродуцирам проблема

Все пак, ако сложа dummy стойности на всичко, което липсва и направя догадки наистина след регистрация отивам на страницата с грешка. Дължи се на следното:

@PostMapping("/subscribe") public String @.*** UserSubscribeBindingModel userSubscribeBindingModel, HttpServletRequest request, HttpServletResponse response, BindingResult bindingResult, RedirectAttributes redirectAttributes) {

   ....

    return "redirect:/login";
}

След успешна регистрация отиваш на страница /login, която не съществува (няма такъв контролер). Оттам си с 404.

Поздрави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2248384656, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74H7L2R337S5PMWDP5P3ZN7F3DAVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBYGM4DINRVGY . You are receiving this because you authored the thread.Message ID: @.***>

luchob commented 2 months ago

Здравей!

Не е съвсем така. Няма как да гледам тестовия, т.к. нищо не гледам а стартирам апп-а и той взема истинския. Имаш много променливи като тази които ги няма в application.yaml:

@Value("${email_username}") private String email;

Те са настроени при теб като env variables, но при мен ги няма и ги откривам 1 по 1 с пускането на проекта. Ето един patch на това което сменям за да тръгне нещо:


Index: src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java
--- a/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java   (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java   (date 1721835957080)
@@ -17,8 +17,8 @@
 public class JwtServiceImpl implements JwtService {
     private final String jwtSecret;

-    public JwtServiceImpl(@Value("${jwt.secret}") String jwtSecret) {
-        this.jwtSecret = jwtSecret;
+    public JwtServiceImpl() {
+        this.jwtSecret = "jwtSecret";
     }
     @Override
     public UserDetails extractUserFromToken(String token) {
Index: src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java
--- a/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java  (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java  (date 1721836101648)
@@ -9,8 +9,8 @@
 import java.util.Map;
 @Service
 public class ICaptchaServiceImpl implements ICaptchaService {
-    @Value("${secret_key}")
-    private String recaptchaSecret;
+
+    private String recaptchaSecret = "test";

     private static final String RECAPTCHA_URL =
             "https://www.google.com/recaptcha/api/siteverify";
Index: src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java
--- a/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java    (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java    (date 1721836136195)
@@ -20,10 +20,10 @@

     private final Logger LOGGER = LoggerFactory.getLogger(ChangeImageServiceImpl.class);

-    public ShiftImageServiceImpl(@Value("${ancient_images}") List<String> images,
+    public ShiftImageServiceImpl(List<String> images,
             ChangeImageService changeImageService) {
         this.changeImageService = changeImageService;
-        this.images.addAll(images);
+        this.images.addAll(List.of("a.jpg", "b.jpg", "c.jpg", "d.jpg"));
     }
     @PostConstruct
     public void afterInitialize() {
Index: src/main/resources/application.yaml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
--- a/src/main/resources/application.yaml   (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/resources/application.yaml   (date 1721836440526)
@@ -2,8 +2,8 @@
   datasource:
     driverClassName: com.mysql.cj.jdbc.Driver
     url: "jdbc:mysql://localhost:3306/history_gradle_security_new?useSSL=false&createDatabaseIfNotExist=true&serverTimezone=UTC"
-    username: ${username}
-    password: ${password}
+    username: root
+    password:
   sql:
     init:
       mode: never
@@ -33,8 +33,8 @@
   mail:
     host: smtp.gmail.com
     port: 578
-    username: ${email_username}
-    password: ${password_email}
+    username: test
+    password: test
     test-connection: true

     properties:
@@ -51,21 +51,21 @@

 HistoryAppNew:
-    default.admin.pass: ${default.admin.pass}
-    remember.me.key: ${remember.me.key}
+    default.admin.pass: test
+    remember.me.key: test
 server:
   port: 1032
-logging:
-  level:
-    org:
-      springframework:
-        security=DEBUG:
-    org.springframework.security: TRACE
+#logging:
+#  level:
+#    org:
+#      springframework:
+#        security=DEBUG:
+#    org.springframework.security: TRACE

 shift:
   ancient_images: greek.jpeg, changeImage1.png, changeImage2.jpg, sphinks2.jpg
   refresh-cron: "0 */10 * * * *"

 recaptcha:
-  secret = ${secret_key}:
+  secret = test

Index: src/main/java/HistoryAppGradleSecurity/config/AppConfig.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java b/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java
--- a/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java  (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java  (date 1721882214866)
@@ -13,8 +13,8 @@

 @Configuration
 public class AppConfig {
-@Value("${email_username}") private String email;
-@Value("${password_email}") private String password;
+private String email = "test";
+private String password = "test";
     @Bean
     public ModelMapper modelMapper() {

Index: src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java b/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java
--- a/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java (date 1721836019031)
@@ -16,7 +16,7 @@
 @Autowired
     private JavaMailSender mailSender;

-    @Value("${email_username}") private String sender;
+    private String sender = "TEST@test.ocm";

Index: src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java b/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java
--- a/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java    (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6)
+++ b/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java    (date 1721836082954)
@@ -7,10 +7,10 @@
 @Component
 @ConfigurationProperties(prefix = "google.recaptcha.key")
 public class CaptchaSettings {
-@Value("${site_key}")
-    private String site;
-    @Value("${secret_key}")
-    private String secret;
+
+    private String site = "test";
+
+    private String secret = "test";

     public CaptchaSettings() {
     }

Промените са толкова много че накрая не съм сигурен дали нещо не работи заради тях, а описанието е че "хвърля грешка". :-)

Поздави, Л.

pako8101 commented 2 months ago

Привет, регистрацията се оправи, остана reCpatchata email schaduler да оправя, формата за рекаптчата е добре само site key и secret key не ми дава за localhost и се чудя какъв домейн да задам към google за кодовете или просто да е fake просто......относно променливите, вие ни учите да не ги излагамe директно а като enviroment variables :)

Благодаря и лека работа :)

On Thu, Jul 25, 2024 at 7:40 AM Lachezar Balev @.***> wrote:

Здравей!

Не е съвсем така. Няма как да гледам тестовия, т.к. нищо не гледам а стартирам апп-а и той взема истинския. Имаш много променливи като тази които ги няма в application.yaml:

@Value("${email_username}") private String email;

Те са настроени при теб като env variables, но при мен ги няма и ги откривам 1 по 1 с пускането на проекта. Ето един patch на това което сменям за да тръгне нещо:

Index: src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java --- a/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/service/impl/JwtServiceImpl.java (date 1721835957080) @@ -17,8 +17,8 @@ public class JwtServiceImpl implements JwtService { private final String jwtSecret;

  • public @.***("${jwt.secret}") String jwtSecret) {

  • this.jwtSecret = jwtSecret;

  • public JwtServiceImpl() {

  • this.jwtSecret = "jwtSecret"; } @Override public UserDetails extractUserFromToken(String token) { Index: src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

    diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java --- a/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/service/impl/ICaptchaServiceImpl.java (date 1721836101648) @@ -9,8 +9,8 @@ import java.util.Map; @Service public class ICaptchaServiceImpl implements ICaptchaService {

  • @Value("${secret_key}")

  • private String recaptchaSecret;

  • private String recaptchaSecret = "test";

    private static final String RECAPTCHA_URL = "https://www.google.com/recaptcha/api/siteverify"; Index: src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

    diff --git a/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java b/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java --- a/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/service/impl/ShiftImageServiceImpl.java (date 1721836136195) @@ -20,10 +20,10 @@

    private final Logger LOGGER = LoggerFactory.getLogger(ChangeImageServiceImpl.class);

  • public @.***("${ancient_images}") List images,

  • public ShiftImageServiceImpl(List images, ChangeImageService changeImageService) { this.changeImageService = changeImageService;

  • this.images.addAll(images);

  • this.images.addAll(List.of("a.jpg", "b.jpg", "c.jpg", "d.jpg")); } @PostConstruct public void afterInitialize() { Index: src/main/resources/application.yaml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

    diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml --- a/src/main/resources/application.yaml (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/resources/application.yaml (date 1721836440526) @@ -2,8 +2,8 @@ datasource: driverClassName: com.mysql.cj.jdbc.Driver url: "jdbc:mysql://localhost:3306/history_gradle_security_new?useSSL=false&createDatabaseIfNotExist=true&serverTimezone=UTC"

  • username: ${username}

  • password: ${password}

  • username: root

  • password: sql: init: mode: never @@ -33,8 +33,8 @@ mail: host: smtp.gmail.com port: 578

  • username: ${email_username}

  • password: ${password_email}

  • username: test

  • password: test test-connection: true

    properties: @@ -51,21 +51,21 @@

    HistoryAppNew:

  • default.admin.pass: ${default.admin.pass}

  • remember.me.key: ${remember.me.key}

  • default.admin.pass: test

  • remember.me.key: test server: port: 1032 -logging:

  • level:

  • org:

  • springframework:

  • security=DEBUG:

  • org.springframework.security: TRACE +#logging: +# level: +# org: +# springframework: +# security=DEBUG: +# org.springframework.security: TRACE

    shift: ancient_images: greek.jpeg, changeImage1.png, changeImage2.jpg, sphinks2.jpg refresh-cron: "0 /10 *"

    recaptcha:

  • secret = ${secret_key}:

  • secret = test

Index: src/main/java/HistoryAppGradleSecurity/config/AppConfig.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

diff --git a/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java b/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java --- a/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/config/AppConfig.java (date 1721882214866) @@ -13,8 +13,8 @@

@Configuration public class AppConfig { @.("${email_username}") private String email; @.("${password_email}") private String password; +private String email = "test"; +private String password = "test"; @Bean public ModelMapper modelMapper() {

Index: src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

diff --git a/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java b/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java --- a/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/emailScheduler/EmailScheduler.java (date 1721836019031) @@ -16,7 +16,7 @@ @Autowired private JavaMailSender mailSender;

  • @Value("${email_username}") private String sender;
  • private String sender = @.***";

Index: src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8

diff --git a/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java b/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java --- a/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java (revision ff80ffdaf2e6ca6c62d75146e912dfafddcb96c6) +++ b/src/main/java/HistoryAppGradleSecurity/config/CaptchaSettings.java (date 1721836082954) @@ -7,10 +7,10 @@ @Component @ConfigurationProperties(prefix = "google.recaptcha.key") public class CaptchaSettings { @.***("${site_key}")

  • private String site;
  • @Value("${secret_key}")
  • private String secret;
  • private String site = "test";
  • private String secret = "test";

    public CaptchaSettings() { }

Промените са толкова много че накрая не съм сигурен дали нещо не работи заради тях, а описанието е че "хвърля грешка". :-)

Поздави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2249373086, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74H4CUSCOEUSOFA6VAHDZOB6TNAVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGM3TGMBYGY . You are receiving this because you authored the thread.Message ID: @.***>

luchob commented 2 months ago

Здрасти!

По-скоро имам предвид следната схема, която е доста по-удобна. Например:

offers:
  api:
    baseUrl: ${OFFERS_BASE_URL:http://localhost:8081}

Това означава, че за локален девелопмънт например, използваме localhost:8081 и няма нужда от env variable. Или default стойност на baseUrl при условие че липсва такъв env variable.

Поздрави, Л.

pako8101 commented 2 months ago

Привет, за reCaptcha ще удариш ли едно рамо. Направих си сървиса и контролерната логика html e добре,като я кликна I'm not a robot дава че е ок, и после не прави регистрация и изписва Captcha verification failed ! огледах всичко няколко пъти но всичко изглежда добре :)

Благодаря

On Thu, Jul 25, 2024 at 4:47 PM Lachezar Balev @.***> wrote:

Здрасти!

По-скоро имам предвид следната схема, която е доста по-удобна. Например:

offers: api: baseUrl: ${OFFERS_BASE_URL:http://localhost:8081}

Това означава, че за локален девелопмънт например, използваме localhost:8081 и няма нужда от env variable. Или default стойност на baseUrl при условие че липсва такъв env variable.

Поздрави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2250364956, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74H7ZT2VJVGE23PWKBP3ZOD6VNAVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJQGM3DIOJVGY . You are receiving this because you authored the thread.Message ID: @.***>

luchob commented 2 months ago

Здрасти, ще се опитам да и хвърля едно очо през уикенда. Става въпрос за v3 recaptcha ли?

luchob commented 2 months ago

Здрасти!

Мога само да ти дам малко насоки и примери. Последната версия на рекапчата е v3. v2 е по-скоро deprecated. Във v3 дори няма нужда да казваш дали си робот или не, с малко AI ти следят движенията и поведението на сайта и знаят с голяма вероятност дали си бот или не. Процесът по интеграцията в общи линии е описан тук.

Демек:

  1. Закачаш им скрипта за някой от submit бутоните ти. Пример как сме го правили в mobilele виж тук.

  2. Като се натисне този бутон JS-a на google закача recaptcha тоукъна за формата и той пристига на сървъра. Ето как го вземаме. За съжаление има малка драма. Тъй като идва с тиренца, няма да можеш да го направиш част от DTO-то, трябва да го вземеш отделно. Тогава много си играх но не можах да го пъхна вътре в DTO-то.

  3. Когато вземеш тоукъна на сървъра правиш REST request към google и той ти казва yes/no, или преведено - bot/not bot с определена вероятност. Как се праща REST-a виж тук. Там е правено с реактивния WebClient вместо RestClient тъй като тогава нямаше REST Client.

Горе долу е това, не би трябвало да е много сложно.

Поздрави и успех!

pako8101 commented 2 months ago

Привет Лъчо, ще го рефакторирам с v3 аз бях сложил v2, че ми хареса чекването i‘ m not a Robot ;) Благодаря много :)

On Sat 27 Jul 2024 at 16:06, Lachezar Balev @.***> wrote:

Здрасти!

Мога само да ти дам малко насоки и примери. Последната версия на рекапчата е v3. v2 е по-скоро deprecated. Във v3 дори няма нужда да казваш дали си робот или не, с малко AI ти следят движенията и поведението на сайта и знаят с голяма вероятност дали си бот или не. Процесът по интеграцията в общи линии е описан тук https://developers.google.com/recaptcha/docs/v3#automatically_bind_the_challenge_to_a_button .

Демек:

1.

Закачаш им скрипта за някой от submit бутоните ти. Пример как сме го правили в mobilele виж тук https://github.com/luchob/softuni-sep-2023/blob/c640aaad1a3e34eba81af8ba5ed433ea3899f529/mobilele/src/main/resources/templates/auth-register.html#L90 . 2.

Като се натисне този бутон JS-a на google закача recaptcha тоукъна за формата и той пристига на сървъра. Ето как го вземаме https://github.com/luchob/softuni-sep-2023/blob/c640aaad1a3e34eba81af8ba5ed433ea3899f529/mobilele/src/main/java/org/softuni/mobilele/web/UserRegistrationController.java#L36. За съжаление има малка драма. Тъй като идва с тиренца, няма да можеш да го направиш част от DTO-то, трябва да го вземеш отделно. Тогава много си играх но не можах да го пъхна вътре в DTO-то. 3.

Когато вземеш тоукъна на сървъра правиш REST request към google и той ти казва yes/no, или преведено - bot/not bot с определена вероятност. Как се праща REST-a виж тук https://github.com/luchob/softuni-sep-2023/blob/c640aaad1a3e34eba81af8ba5ed433ea3899f529/mobilele/src/main/java/org/softuni/mobilele/service/impl/ReCaptchaServiceImpl.java#L33. Там е правено с реактивния WebClient вместо RestClient тъй като тогава нямаше REST Client.

Горе долу е това, не би трябвало да е много сложно.

Поздрави и успех!

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/46#issuecomment-2254144786, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2Y74HZA2533JX73U42EJKLZOOLMJAVCNFSM6AAAAABLB7IPTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGE2DINZYGY . You are receiving this because you authored the thread.Message ID: @.***>