Skip to content

Commit 16b6088

Browse files
committed
updating role assignation
1 parent 3714f33 commit 16b6088

2 files changed

Lines changed: 10 additions & 8 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</parent>
1818
<groupId>io.github.devtony101</groupId>
1919
<artifactId>firebaseauth</artifactId>
20-
<version>1.2.2</version>
20+
<version>1.2.3</version>
2121
<name>firebaseauth</name>
2222
<description>Library used to abstract api authentication with Firebase</description>
2323
<properties>

src/main/java/firebaseauth/FirebaseAuthFilter.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313
import javax.servlet.http.HttpServletResponse;
1414

1515
import java.io.IOException;
16-
import java.util.Arrays;
17-
import java.util.HashSet;
18-
import java.util.Locale;
19-
import java.util.Set;
16+
import java.util.*;
2017

2118
import lombok.extern.slf4j.Slf4j;
2219
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -61,10 +58,15 @@ private void verifyToken(HttpServletRequest request) {
6158
e.printStackTrace();
6259
}
6360

64-
FirebaseUser firebaseUser = FirebaseMapper.INSTANCE.toFirebaseUser(decodedToken);
65-
if (firebaseUser != null) {
61+
if (Optional.ofNullable(decodedToken).isPresent()) {
62+
FirebaseUser firebaseUser = FirebaseMapper.INSTANCE.toFirebaseUser(decodedToken);
63+
firebaseUser.setRole("USER");
64+
Map<String, Object> claims = decodedToken.getClaims();
65+
if (!claims.isEmpty() && claims.containsKey("role")) {
66+
firebaseUser.setRole(((String) claims.get("role")).toUpperCase(Locale.ROOT));
67+
}
6668
Set<GrantedAuthority> roles = new HashSet<>();
67-
roles.add(new SimpleGrantedAuthority(String.format("ROLE_%s", firebaseUser.getRole().toUpperCase(Locale.ROOT))));
69+
roles.add(new SimpleGrantedAuthority(String.format("ROLE_%s", firebaseUser.getRole())));
6870
UsernamePasswordAuthenticationToken authReq =
6971
new UsernamePasswordAuthenticationToken(firebaseUser, null, roles);
7072
authReq.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));

0 commit comments

Comments
 (0)