로그인 기능을 구현한다.
Supabase Docs에 따르면 이메일 가입은 아래 두 가지 흐름을 따릅니다.
Swift의 경우 2번을 따른다고 합니다. SDK에서 확인해보니 defaultFlowType이 pkce로 설정되어 있는 것을 확인할 수 있었습니다.
/// The default ``AuthFlowType`` used when initializing a ``AuthClient`` instance.
public static let defaultFlowType: AuthFlowType = .pkce
여기서 PKCE에 대해 간략히 소개하자면, 인증 코드 플로우를 보호하기 위한 기능을 의미합니다.
OAuth 2.0 플로우에서 auth code를 넘겨주는 과정에서 필요하므로 우리 프로젝트에서는 필요하지 않습니다.
이메일로 회원가입에 필요한 endpoint는 아래와 같이 구성했습니다.