오류도 안뜨고, 런타임에서 에러도 발생하지 않는데, 로그인이 안됩니다.
뭐가 문제일까요..?
public class MainActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener {
private SignInButton btn_google;
private FirebaseAuth mAuth;
private GoogleApiClient googleApiClient;
private static final int REQ_SIGN_GOOGLE=100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
googleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage( this, this )
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
mAuth=FirebaseAuth.getInstance();
btn_google = findViewById(R.id.btn_google);
btn_google.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient);
startActivityForResult(intent, REQ_SIGN_GOOGLE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQ_SIGN_GOOGLE){
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if(result.isSuccess()==true){
GoogleSignInAccount account = result.getSignInAccount();
resultLogin(account);
}
}
}
private void resultLogin(final GoogleSignInAccount account) {
AuthCredential credential = GoogleAuthProvider.getCredential(account.getIdToken(), null);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(MainActivity.this, "로그인 성공", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext(), resultActivity.class);
intent.putExtra("nickName", account.getDisplayName());
intent.putExtra("photoUrl", String.valueOf(account.getPhotoUrl()));
startActivity(intent);
}else {
Toast.makeText(MainActivity.this, "로그인 실패", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
}