Spring boot , 스프링

Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (2) 예제

Rhats 2023. 3. 3. 09:13
반응형

Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (2) 예제

Spring Boot에서는 Thymeleaf, JSP, Freemarker 등의 템플릿 엔진을 사용하여 HTML 페이지를 생성할 수 있습니다. 여기서는 Thymeleaf를 사용하여 로그인 페이지를 생성하는 방법을 설명하겠습니다.

1.src/main/resources/templates/login.html 파일을 생성합니다.

// HTML
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>Login Page</title>
</head>
<body>
  <h2>Login</h2>
  <form th:action="@{/oauth2/authorization/google}" method="post">
    <input type="submit" value="Google Login">
  </form>
</body>
</html>

2.thymeleaf-spring5 의존성을 build.gradle 또는 pom.xml에 추가합니다.

build.gradle

dependencies {
    // ...
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    // ...
}​
 

pom.xml

<dependencies>
    <!-- ... -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!-- ... -->
</dependencies>

 

3.컨트롤러를 작성합니다.

@Controller
public class LoginController {
 
    @GetMapping("/login")
    public String loginPage() {
        return "login";
    }
 
}
  • @Controller 어노테이션을 추가하여 스프링 컨트롤러임을 명시합니다.
  • @GetMapping("/login") 어노테이션을 추가하여 GET 요청이 /login 경로로 들어왔을 때 loginPage() 메소드가 호출되도록 합니다.
  • loginPage() 메소드는 "login" 문자열을 리턴합니다. 이는 login.html 파일을 찾아서 렌더링하도록 합니다.

 

"Spring Boot OAuth2 구글 소셜로그인 (네이버,카카오 등) (3) 예제"에서 계속

반응형