[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
'server' 카테고리의 다른 글
[linux]ec2 linux2 java jdk설치 가능한 파일 보는 방법 , 설치방법 (0) | 2022.04.06 |
---|---|
[aws]ssh접속 시, ECDSA host key for azonaws.com has changed and you have requested strict checking해결방법 (0) | 2022.04.06 |
[github]8월 13일 id , password 불가 이슈 해결방법 (0) | 2021.08.18 |
[sql]월별 집계방법 (0) | 2021.05.24 |
[spring boot]mac update 이후에 failed to create the java virtual machine 해결방법 (0) | 2021.03.29 |