'firebasesdk'에 해당되는 글 1건

  1. 2021.09.10 [spring boot]firebase SDK JWT firebase custom token 만드는 방법
server2021. 9. 10. 11:19

[spring boot]firebase SDK JWT firebase custom token 만드는 방법

 

firebase 에서 

 

FirebaseAuth.getInstance().createCustomToken(userRecord.getUid());

 

이렇게 하면 token 을 만들어준다..

 

jwt 라이브러리를 자기네도 사용하니 custom으로 만들 수 있다는것이다.. 

 

이걸 클라이언트에 return해주고 token으로 로그인 가능하게 할 수 있다..

 

자 그러면 custom token을 만들어보자..

 

jwt 라이브러리 넣고 하는건 생략하고 , 본론만 애기한다.

 

밑에 사진에서 보는거와 같이.. 넣으면 되는데 ... 

 

private String makeJwtToken(String uid, String email) {

// Header 부분 설정

Map<String, Object> headers = new HashMap<>();

headers.put("alg", "RS256");

 

Date now = new Date();

 

String jwt = Jwts.builder()

.setHeader(headers)

.setIssuedAt(now)

.setExpiration(new Date(now.getTime() + Duration.ofDays(300).toMillis()))

.claim("uid", uid)

.claim("aud","https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit")

.claim("iss", "프로젝트 서비스 계정 이메일주소")

.claim("sub", "프로젝트 서비스 계정 이메일주소")

.compact();

 

return jwt;

}

 

자 토탈 소스는 이건데..

 

중요한 부분만 설명한다... 

 

uid무조건 넣어야 그걸 기반으로 만드는거다

 

iss , sub 넣어야 할텐데 -> 프로젝트 서비스 계정 이메일주소 라고 나와있는데 정확하게 어떤 주소를 넣어야 되냐면

 

프로젝트 설정 -> 서비스 계정 -> Firebase 서비스 계정을 넣어줘야 한다..

 

이걸 제대로 안 넣어주면 token이 제대로 만들어 지지 않았다고 한다.

 

 

 

 

[참조] https://firebase.google.com/docs/auth/admin/create-custom-tokens#java_1

 

커스텀 토큰 만들기  |  Firebase

Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기 의견 보내기 커스텀 토큰 만들기 Firebase는 보안 JSON 웹 토큰(JWT)으로 사용자나 기기 인증이 가능해

firebase.google.com

 

Posted by thdeodls85