Firebase에서 SSO를 시도했습니다 (비추천)

2361 단어 Firebase
비추천적인 이유는 로컬에서만 실험했으며 보안 위험을 덜 고려하기 때문입니다.

먼저



이번의 방법은 공식적으로 소개되고 있는 방법은 아닙니다.
우선 로컬 환경에서 움직였다고만 하므로 보안에 대해서도 누설이 있을지도 모릅니다.
또, 참고한 기사 에 있는 csst 의 필요성도 모르기 때문에 구현하고 있지 않습니다.
개선 부분 등 있으면 가르쳐 주셔서 감사합니다.

구성도





구현



Vue



Vue.js의 주요 코드는 이것뿐입니다.

xxx.js
const response = await axios.get('http://localhost:5000/customToken', {withCredentials: true});
firebase.auth().signInWithCustomToken(response.data.firebaseToken);

Tips: ProjectB의 Authentication에 사용자가 없어도 signInWithCustomToken으로 인증할 수 있습니다.

Express



  • CORS
  • 서브 도메인에서 쿠키 공유 (이번은 localhost이므로 관계 없음)
  • 하위 도메인의 다른 서비스간에 쿠키 공유


  • 마지막으로



    인증 주위의 구현은 고려하는 것이 많아 힘들군요.
    ProjectA의 Authetication을 Auth0로 바꾸면 Session을 사용하지 않고 SSO를 실현할 수 있습니다.

    Auth0 은 공식적으로 SSO 구현 예, Firebase와의 연계 방법도 소개되어 있습니다. 자세한 요금은 조사하고 있지 않지만, 월 1만, 년 12만으로 인증 주위의 시큐리티를 강화할 수 있어 보수 코스트가 내려가면 전혀 싸다고 느꼈습니다.

    참고

    좋은 웹페이지 즐겨찾기