# 로그인 일원화

앱 서비스에 위핀을 통합할 때 사용자 경험을 향상시키기 위해 로그인 일원화를 구현할 수 있습니다. 로그인 일원화는 사용자가 한 번의 로그인으로 앱과 위핀 지갑 모두에 로그인할 수 있게 하는 방식입니다. 이 접근 방식은 UX를 개선하며, 두 번의 로그인 과정을 단순화하여 사용자 이탈을 줄여줍니다.

위핀은 ID Token과 Access Token을 통한 두 가지 로그인 방식을 지원합니다. 각각의 방식에 따라 사용할 수 있는 소셜 로그인 프로바이더가 다르며, 소셜 로그인 인증 프로바이더에 따라 사용되는 토큰 방식은 아래와 같습니다.&#x20;

<table><thead><tr><th width="252">토큰 분류</th><th>소셜 로그인 인증 프로바이더</th></tr></thead><tbody><tr><td>ID Token</td><td>Google, Apple, Line, Kakao</td></tr><tr><td>Access Token</td><td>Discord, Naver, Facebook</td></tr></tbody></table>

### ID Token 로그인 기능 설정 <a href="#setting-up-id-token-login" id="setting-up-id-token-login"></a>

ID Token은 사용자에 대한 인증 정보를 포함하는 토큰으로, 주로 OIDC(OpenID Connect) 표준을 따르는 OAuth Provider에서 발급됩니다. 위핀에서는 OIDC 기반의 로그인 프로바이더에서 발급된 ID Token을 사용하여 로그인 일원화를 구현할 수 있습니다.

* `loginWithIdToken` 메서드를 사용하여 OAuth Provider로부터 발급받은 ID Token을 Firebase에 전달하고, 인증을 완료합니다.
* 이후 `loginWepin` 메서드를 사용하여 Firebase Token을 통해 위핀에 로그인합니다.

### Access Token 로그인 기능 설정 <a href="#setting-up-access-token-login" id="setting-up-access-token-login"></a>

Access Token은 사용자의 인증, 접근 및 수정 권한을 제공하는 토큰으로, 대부분의 OAuth Provider에서 사용됩니다. 위핀에서는 OAuth Provider의 Access Token을 이용해 로그인 일원화를 구현할 수 있습니다.

* `loginWithAccessToken` 메서드를 사용하여 OAuth Provider로부터 발급받은 Access Token을 Firebase에 전달하고, 인증을 완료합니다.
* 이후 `loginWepin` 메서드를 사용하여 Firebase Token을 통해 위핀에 로그인합니다.

SDK에 따라 로그인 관련 메서드에 대한 안내는 리소스 페이지에서 확인할 수 있습니다.

{% content-ref url="resource" %}
[resource](https://docs.wepin.io/login/resource)
{% endcontent-ref %}
