Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e09db72

Browse files
committed
Dtos have been defined.
1 parent 2c74f2a commit e09db72

File tree

207 files changed

+32059
-42
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

207 files changed

+32059
-42
lines changed

‎Readme.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,35 @@
175175
- Yup
176176
- validationSchema
177177
- erros
178-
- handleBlur
178+
- handleBlur
179+
180+
# 13. Gün
181+
- Authentication and Authorization
182+
- WebSecurityConfigurerAdapter
183+
- UserDetails
184+
- UserDetailsService
185+
- InMemoryUserDetailsManager
186+
- PasswordEncoder
187+
- httpBasic
188+
- Guava Utility Library
189+
- CSRF
190+
- Basic Authentication
191+
- Permission-based Authentication
192+
- PreAuthorization
193+
- EnableGlobalMethodSecurity
194+
- antMatchers
195+
- UserDetails Implementation (ApplicationUser)
196+
- UserDetailsService Implementation (ApplicationUserService)
197+
- ApplicationDao
198+
- ApplicationDao Implementation (FakeApplicationUserDao)
199+
- ApplicationDao Implementation (UserServiceImp)
200+
201+
# 14. Gün
202+
- JWT
203+
- JwtConfig
204+
- JwtSecretKey
205+
- JsonTokenProvider
206+
- JsonAuthenticationFilter
207+
- JwtAuthenticationEntryPoint
208+
- sessionCreationPolicy
209+
- JwtAuthenticationFilter

‎day-14/Readme.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# 14. Gün
2+
- JWT
3+
- JwtConfig
4+
- JwtSecretKey
5+
- JsonTokenProvider
6+
- JsonAuthenticationFilter
7+
- JwtAuthenticationEntryPoint
8+
- sessionCreationPolicy
9+
- JwtAuthenticationFilter

‎day-14/api/Readme.md

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,3 @@
1-
# 13. Gün
2-
- Authentication and Authorization
3-
- WebSecurityConfigurerAdapter
4-
- UserDetails
5-
- UserDetailsService
6-
- InMemoryUserDetailsManager
7-
- PasswordEncoder
8-
- httpBasic
9-
- Guava Utility Library
10-
- CSRF
11-
- Basic Authentication
12-
- Permission-based Authentication
13-
- PreAuthorization
14-
- EnableGlobalMethodSecurity
15-
- antMatchers
16-
- UserDetails Implementation (ApplicationUser)
17-
- UserDetailsService Implementation (ApplicationUserService)
18-
- ApplicationDao
19-
- ApplicationDao Implementation (FakeApplicationUserDao)
20-
- ApplicationDao Implementation (UserServiceImp)
21-
22-
![BasicAuthentication](http://www.zafercomert.com/medya/java/SpringSecurityBasicAuth.svg)
1+
# 14. Gün
2+
- Json Web Token
3+
- STATELESS

‎day-14/api/src/main/java/com/bookstore/api/controllers/AuthController.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
import com.bookstore.api.entities.RefreshToken;
2222
import com.bookstore.api.entities.User;
23-
import com.bookstore.api.entities.dto.AuthResponse;
24-
import com.bookstore.api.entities.dto.RefreshRequest;
23+
import com.bookstore.api.entities.dto.AuthDto;
24+
import com.bookstore.api.entities.dto.RefreshDto;
2525
import com.bookstore.api.entities.dto.UserRequest;
2626
import com.bookstore.api.entities.dto.UserRequestForRegister;
2727
import com.bookstore.api.jwt.JwtTokenProvider;
@@ -50,7 +50,7 @@ public AuthController(AuthenticationManager authenticationManager, JwtTokenProvi
5050
}
5151

5252
@PostMapping("/login")
53-
public AuthResponse login(@RequestBody UserRequest loginRequest) {
53+
public AuthDto login(@RequestBody UserRequest loginRequest) {
5454
UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(
5555
loginRequest.getUserName(),
5656
loginRequest.getPassword());
@@ -63,7 +63,7 @@ public AuthResponse login(@RequestBody UserRequest loginRequest) {
6363

6464
User user = userService.getOneUserByUserName(loginRequest.getUserName());
6565

66-
AuthResponse authResponse = new AuthResponse();
66+
AuthDto authResponse = new AuthDto();
6767
authResponse.setAccessToken("Bearer " + jwtToken);
6868
authResponse.setRefreshToken(refreshTokenService.createRefreshToken(user));
6969
authResponse.setUserId(user.getId());
@@ -75,9 +75,9 @@ public AuthResponse login(@RequestBody UserRequest loginRequest) {
7575
}
7676

7777
@PostMapping("/register")
78-
public ResponseEntity<AuthResponse> register(@RequestBody UserRequestForRegister registerRequest) {
78+
public ResponseEntity<AuthDto> register(@RequestBody UserRequestForRegister registerRequest) {
7979

80-
AuthResponse authResponse = new AuthResponse();
80+
AuthDto authResponse = new AuthDto();
8181

8282
// User exists?
8383
if (userService.getOneUserByUserName(registerRequest.getUserName()) != null) {
@@ -92,8 +92,6 @@ public ResponseEntity<AuthResponse> register(@RequestBody UserRequestForRegister
9292
user.setUserName(registerRequest.getUserName());
9393
user.setPassword(registerRequest.getPassword());
9494

95-
96-
9795
userService.saveOneUser(user);
9896

9997
// Adding role -> User role is given by default
@@ -120,8 +118,8 @@ public ResponseEntity<AuthResponse> register(@RequestBody UserRequestForRegister
120118
}
121119

122120
@PostMapping("/refresh")
123-
public ResponseEntity<AuthResponse> refresh(@RequestBody RefreshRequest refreshRequest) {
124-
AuthResponse authResponse = new AuthResponse();
121+
public ResponseEntity<AuthDto> refresh(@RequestBody RefreshDto refreshRequest) {
122+
AuthDto authResponse = new AuthDto();
125123

126124
RefreshToken token = refreshTokenService.getByUser(refreshRequest.getUserId());
127125

‎day-14/api/src/main/java/com/bookstore/api/entities/dto/AuthResponse.java renamed to ‎day-14/api/src/main/java/com/bookstore/api/entities/dto/AuthDto.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import lombok.Data;
44

55
@Data
6-
public class AuthResponse {
7-
private String message;
6+
public class AuthDto {
87

8+
private String message;
99
private int userId;
1010
private String userName;
1111

‎day-14/api/src/main/java/com/bookstore/api/entities/dto/RefreshRequest.java renamed to ‎day-14/api/src/main/java/com/bookstore/api/entities/dto/RefreshDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import lombok.Data;
44

55
@Data
6-
public class RefreshRequest {
6+
public class RefreshDto {
77
private int userId;
88
private String refreshToken;
99
}

‎day-14/api/src/main/java/com/bookstore/api/jwt/JwtTokenProvider.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@
88
import org.springframework.security.core.Authentication;
99
import org.springframework.stereotype.Component;
1010

11+
import com.bookstore.api.entities.User;
12+
import com.bookstore.api.exceptions.notFoundExceptions.UserNotFoundException;
1113
import com.bookstore.api.security.ApplicationUser;
14+
import com.bookstore.api.services.Abstract.UserService;
1215

1316
import io.jsonwebtoken.Claims;
1417
import io.jsonwebtoken.ExpiredJwtException;
1518
import io.jsonwebtoken.Jwts;
1619
import io.jsonwebtoken.MalformedJwtException;
1720
import io.jsonwebtoken.SignatureException;
1821
import io.jsonwebtoken.UnsupportedJwtException;
22+
import lombok.RequiredArgsConstructor;
1923

2024
@Component
25+
@RequiredArgsConstructor
2126
public class JwtTokenProvider {
2227

2328
private final JwtConfig jwtConfig;
2429
private final SecretKey secretKey;
25-
26-
public JwtTokenProvider(JwtConfig jwtConfig, SecretKey secretKey) {
27-
this.jwtConfig = jwtConfig;
28-
this.secretKey = secretKey;
29-
System.out.println(jwtConfig.getExpiresIn());
30-
}
30+
private final UserService userService;
3131

3232
public String generateJwtToken(Authentication auth) {
3333

@@ -44,9 +44,14 @@ public String generateJwtToken(Authentication auth) {
4444

4545
public String generateJwtTokenByUserId(int userId) {
4646

47+
User user = userService.getOneUser(userId).getData();
48+
ApplicationUser userDetails = userService.selectApplicationUserByUsername(user.getUserName())
49+
.orElseThrow(() -> new UserNotFoundException(userId));
50+
4751
Date expireDate = new Date(new Date().getTime() + jwtConfig.getExpiresIn());
4852
return Jwts.builder()
4953
.setSubject(Integer.toString(userId))
54+
.claim("authorities", userDetails.getAuthorities())
5055
.setIssuedAt(new Date())
5156
.setExpiration(expireDate)
5257
.signWith(secretKey)
@@ -55,8 +60,13 @@ public String generateJwtTokenByUserId(int userId) {
5560

5661
public String generateJwtTokenByUserName(String username) {
5762
Date expireDate = new Date(new Date().getTime() + jwtConfig.getExpiresIn());
63+
// Yetkileri de ekle.
64+
ApplicationUser userDetails = userService.selectApplicationUserByUsername(username)
65+
.orElseThrow(() -> new RuntimeException(String.format("%s could not found.", username)));
66+
5867
return Jwts.builder()
5968
.setSubject(username)
69+
.claim("authorities", userDetails.getAuthorities())
6070
.setIssuedAt(new Date())
6171
.setExpiration(expireDate)
6272
.signWith(secretKey)

‎day-14/bs-store/.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
REACT_APP_BASE_ENDPOINT = http://localhost:8080/api/v1
2+

‎day-14/bs-store/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# production
12+
/build
13+
14+
# misc
15+
.DS_Store
16+
.env.local
17+
.env.development.local
18+
.env.test.local
19+
.env.production.local
20+
21+
22+
npm-debug.log*
23+
yarn-debug.log*
24+
yarn-error.log*

‎day-14/bs-store/.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"editor.fontSize": 22
3+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /