Skip to content
isdnetworks
Go back

프로필을 나누자 로그인까지 갈렸다

운영 계정과 개발 계정을 같은 Chrome 창에서 쓰다가 잘못 누르는 일이 몇 번 있어서, 프로필을 아예 나눠 쓰기로 했다.

Table of contents

Open Table of contents

목표 — 잘못 누르는 것을 구조로 막는다

주의해서 쓰자는 약속만으로는 몇 달째 아무것도 해결되지 않고 있었다. 사람이 조심하는 것 말고 구조로 갈라야 했다.

동시에 자주 쓰는 서비스의 로그인은 그대로 유지되기를 바랐으므로, 격리와 편의가 정면으로 부딪히는 지점이 있었다.

원인 — 자격 저장소에 없던 항목

프로필을 나누자 로그인이 전부 풀렸는데, macOS Keychain의 Chrome Safe Storage 항목이 있는데도 그랬다.

Keychain에 들어 있는 것은 저장한 비밀번호이고 세션 쿠키는 거기 없었다. 쿠키는 프로필 폴더 안 Network/Cookies라는 SQLite 파일에 있고 History·Login Data·Web Data도 같은 자리에 프로필별로 따로 있다.

프로필을 나눈다는 것은 그 폴더를 나눈다는 뜻이었다. 기본 프로필 Default 옆에 Profile 1이 생기면서 쿠키·로컬 스토리지·확장 설정이 통째로 갈렸다.

부분 공유가 안 됐다

Network/Cookies만 따로 공유하는 방법을 찾아봤지만 없었다. Chrome 프로필은 통째로 하나의 단위였다.

Cookies 파일만 복사해 보니 열리기는 하는데 값이 전부 깨져 보였다. 쿠키 값은 암호화돼 있고 키가 프로필 폴더가 아니라 상위 Local State에 있어서 파일만 옮기면 복호화가 안 된다.

선택지와 고른 것의 대가

방법이 셋이었다. 프로필을 나누고 매번 로그인하거나, 계정별로 브라우저를 다르게 쓰거나, 나누지 않고 확장으로 경고만 띄우는 것이다.

확장으로 경고만 띄우는 쪽은 편하지만 실수 자체를 막지는 못하는데, 지금까지가 바로 그 상태였다.

브라우저를 다르게 쓰는 쪽은 갈리는 것은 확실한데 도구가 둘이라 설정을 두 벌 관리하게 된다.

프로필을 나누고 매번 로그인하는 쪽을 골랐다. 대신 하루에 두세 번 로그인하는 번거로움을 감수하기로 했다. 잘못 누르는 사고 한 번의 비용이 그보다 훨씬 컸다.

되돌릴 조건과 적용 범위

이 방식은 운영과 개발 계정 둘에만 적용했다. 개인 용도까지 나누면 프로필이 셋이 되고 관리가 늘어난다.

로그인 횟수가 하루 다섯 번을 넘으면 다시 보기로 했다. 그 수를 넘으면 감수하기로 한 비용이 처음 예상을 벗어난 것이다.

확인한 것과 추론으로 남긴 것

쿠키가 Network/Cookies에 있다는 것은 SQLite로 직접 열어 확인했다. 값이 깨져 보이는 것도 실제로 겪었다.

Firefox나 Edge도 같은 구조인지는 확인하지 않았다. 저장 구조가 다르면 여기서 정한 것이 그대로 옮겨지지 않을 수 있다.

정리


Share this post on:

Previous Post
큐에 넣는 쪽의 부재
Next Post
마이그레이션이 두고 간 이력