잘못된 부분, 바꾸면 더 좋을 부분이 있다면 댓글 부탁드리겠습니다. :)
라이브러리 설치
npm i @react-native-google-signin/google-signin
firebase 연동시 sha-1 인증서를 등록 했다면 패스하셔도 됩니다!
```
./gradlew signingReport
```
(디버그 sha1만 등록했습니다. 스토어 등록 프로젝트면 debug, release 두개 다 등록해주세요.)
google-service.json을 새로운 파일로 대치
REVERSED_CLIENT_ID는 firebase연동시 받았던 GoogleService-Info.plist에서 확인할 수 있습니다.
import {
GoogleSignin,
GoogleSigninButton,
} from '@react-native-google-signin/google-signin';
...
useEffect(() => {
GoogleSignin.configure({
webClientId: googleWebClientId,
});
}, []);
...
빌드 => Authentication => Sign-in method를 들어가서 위에서 등록한 google을 펼치면 웹 클라이언트ID를 확인할 수 있다.
google-services.json파일에서 client_type 3의 client_id값 에서도 확인 할 수 있다.
import {
GoogleSignin,
GoogleSigninButton,
} from '@react-native-google-signin/google-signin';
...
const onPressGoogleBtn = async () => {
await GoogleSignin.hasPlayServices({showPlayServicesUpdateDialog: true});
const {idToken} = await GoogleSignin.signIn();
console.log('idToekn : ', idToken);
if (idToken) {
setIdToken(idToken);
}
const googleCredential = auth.GoogleAuthProvider.credential(idToken);
const res = await auth().signInWithCredential(googleCredential);
};
return (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<Text>{idToken}</Text>
<GoogleSigninButton onPress={onPressGoogleBtn} />
</View>
);
...
IOS | AOS |
---|
구글 로그인 활성시 작업했던 프로젝트 작업 정보를 또우로 변경
pod 'FirebaseCore', :modular_headers => true
https://rnfirebase.io/auth/social-auth#google
https://github.com/react-native-google-signin/google-signin