# loginWithKakaoTalk method Null safety

Future<OAuthToken> loginWithKakaoTalk(

1. {List<String>? channelPublicIds,
2. List<String>? serviceTerms,
3. String? nonce}

)

카카오톡으로 로그인 카카오톡에 연결된 카카오계정으로 사용자를 인증하고 `OAuthToken` 발급 발급된 토큰은 TokenManagerProvider에 지정된 토큰 저장소에 자동으로 저장됨 ID 토큰 재생 공격 방지를 위한 검증 값은 `nonce`로 전달. 임의의 문자열, ID 토큰 검증 시 사용

## Implementation

    Future<OAuthToken> loginWithKakaoTalk({
      List<String>? channelPublicIds,
      List<String>? serviceTerms,
      String? nonce,
    }) async {
      var codeVerifier = AuthCodeClient.codeVerifier();
      final authCode = await AuthCodeClient.instance.requestWithTalk(
        channelPublicId: channelPublicIds,
        serviceTerms: serviceTerms,
        codeVerifier: codeVerifier,
        nonce: nonce,
      );
      final token = await AuthApi.instance
          .issueAccessToken(authCode: authCode, codeVerifier: codeVerifier);
      await TokenManagerProvider.instance.manager.setToken(token);
      return token;
    }