마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

firebase에 등록된 일반 계정의 access token을 가져오는 방법 질문드립니다.

0 추천

현재 로그인쪽을 하고 있는데 firebase에 계정을 생성하고 있습니다.

구글 계정에 대한 access token은 onActivityResult를 통해서 갖고 올 수 있는데

일반 계정에 대한 access Token을 가져오는 방법은 아무리 찾아봐도 안나오더라구요

혹시 일반 계정으로 했을 때, access token을 가져올 수 있는 방법이 있을까요?? 

 

아래는 구글계정으로 로그인했을 때입니다.

아래는 일반계정으로 로그인했을 때입니다.

//로그인
public void signIn(View view) {
    email = editTextEmail.getText().toString();
    password = editTextPassword.getText().toString();

    if(isValidEmail() && isValidPasswd()) {
        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull final Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            // 로그인 성공
                            Toast.makeText(MainActivity.this, R.string.success_login, Toast.LENGTH_SHORT).show();

                            FirebaseUser user = mAuth.getCurrentUser();
                            logUserInfo(user);
                            printTextViewUserInfo(user);

                            mGoogleApiClient.connect();

                            OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
                            GoogleSignInResult result = null;
                            if (opr.isDone()) {
                                result = opr.get();
                            }

                            if (result.isSuccess()) {
                                // Google Sign In was successful, authenticate with Firebase
                                Log.v("알림", "google sign 성공, FireBase Auth.");

                                final GoogleSignInAccount account = result.getSignInAccount();
                                firebaseAuthWithGoogle(account);

                                Runnable runnable = new Runnable() {
                                    @Override
                                    public void run() {
                                        try {
                                            String scope = "oauth2:" + Scopes.EMAIL + " " + Scopes.PROFILE;
                                            String accessToken = GoogleAuthUtil.getToken(getApplicationContext(), account.getAccount(), scope, new Bundle());
                                            Log.i("accessToken", accessToken); //accessToken:ya29.Gl...

                                        } catch (IOException e) {
                                            e.printStackTrace();
                                        } catch (GoogleAuthException e) {
                                            e.printStackTrace();
                                        }
                                    }
                                };
                                AsyncTask.execute(runnable);
                            }

                        } else {
                            // 로그인 실패
                            Toast.makeText(MainActivity.this, R.string.failed_login, Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }
}

아래는 firebase입니다.

zenojm (2,840 포인트) 님이 2019년 1월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...