OpenID Connect 로그인

사용자는 다른 곳에 이미 가진 계정으로 로그인할 수 있습니다. OpenID Connect 디스커버리 문서를 게시하는 모든 아이덴티티 공급자가 동작하며, Fóir가 공급자와의 교환을 수행합니다.

제공해야 하는 것

공급자는 콘솔에서, CLI에서 또는 여러분의 설정 파일에서 추가합니다. 로그인에는 공급자의 디스커버리 URL, 클라이언트 ID, 리디렉션 URI가 필요하며, 셋 중 하나라도 없으면 거부됩니다. 클라이언트 시크릿은 선택 사항이고, 요청하는 스코프의 기본값은 openid email입니다.

Fóir는 이름이 붙은 공급자의 카탈로그를 두지 않습니다. 추가하는 각 공급자에는 키, 표시 이름, 버튼 순서를 정하는 우선순위가 있습니다.

Fóir가 하는 일

Fóir는 공급자의 디스커버리 문서를 읽고, PKCE 쌍과 state 값을 생성한 뒤, 공급자의 인가 URL을 반환합니다. 사용자가 돌아오면 코드를 교환하고 ID 토큰을 검증하며, 이메일 주소와 공급자의 고정 subject 식별자를 읽습니다.

사람과 계정이 연결되는 방식

재방문 사용자는 subject 식별자로 매칭되므로, 공급자에서 이메일 주소가 바뀌어도 같은 계정으로 결정됩니다. 알 수 없는 이메일로 처음 로그인하면 비밀번호가 없는 계정이 만들어지며, 프로젝트의 가입 모드와 요금제의 활성 사용자 한도가 적용됩니다.

이메일이 기존 계정과 일치할 때, 그 계정에 비밀번호가 없고 공급자가 이메일을 확인한 경우에만 공급자가 연결됩니다. 그렇지 않으면 로그인이 거부되며, 사용자에게 기존 방법으로 로그인하라는 메시지가 표시됩니다.

버튼이 나타나는 곳

버튼은 호스팅 로그인 페이지에 활성화된 공급자마다 하나씩 표시됩니다. 여러분의 인터페이스에서는 authProviders 쿼리가 목록을 반환하고, 두 개의 뮤테이션이 로그인을 시작하고 완료하며, 다른 모든 방법과 같은 토큰을 반환합니다.

공급자 숨기기 또는 끄기

로그인 앱은 자신에 한해 공급자를 숨길 수 있습니다. 프로젝트 전체에서 공급자를 끄면 다음 릴리스에 적용되며, 즉시 적용하려면 foir push --publish를 사용합니다.

자세한 내용

로그인 가이드는 콘솔과 CLI에서 공급자를 추가하는 방법과, 여러분의 인터페이스에서 공급자 로그인을 처리하는 API 호출을 다룹니다.