2

여러 기기에서 사용자를 인증하는 가장 간단한 방법이기 때문에 Google 계정으로 내 앱 사용자를 인증하고 싶습니다.AccountManager 계정 선택기의 목적

내 질문에 AccountPicker.newChooseAccountIntent 의도를 사용하고 사용자가 하나의 계정을 선택하고 onActivityResult에 결과로 이메일 주소를 가져 오는 경우이 방법은 Android에서 이미 인증 된 것으로 사용자가 확인한 것입니다. 계정에 올바른 비밀번호를 입력 하시겠습니까?

사용자가 권한이없는 이메일 주소를받을 수 있는지 물어보고 싶습니다. 전자 메일 주소가 사용자에게 속하는지 확인하기 위해 추가 검사를 수행해야합니까?

내 앱은 사용자의 문자 메시지에 관한 것이므로 암호가없는 계정을 선택하면 해커가 액세스 할 수 없습니다.

답변

0

실행중인 앱은 권한이 허용하는 기기의 모든 서비스와 기능에 액세스 할 수 있습니다.

accountmanager에서 반환 한 계정은 전화 설정에 나열되며,이 목록을 검색 할 때 추가 보안 확인이 수행되지 않습니다.

사용하려는 서비스에 따라 암호를 입력하라는 메시지가 표시 될 수 있습니다. 예를 들어 OAuth를 통해 특정 서비스에 연결하는 경우 계정 비밀번호를 입력해야 할 수 있습니다. 그것은 정말로 당신이 접근하고있는 서비스에 달려 있습니다.

예를 들어 휴대 전화에 액세스 할 수있는 사람은 자신의 앱에서와 동일한 방식으로 SMS 앱을 열 수 있습니다. SMS는 SIM 카드의 기능이기 때문에 특정 계정에 묶여있는 경향이 없습니다.

+0

Google 서비스에는 Google 계정을 사용하지 않습니다. 그것은 단지 내 서버로 사용자를 인증하는 데 사용됩니다. 이 방법으로 나는 내 자신의 등록을 할 필요가 없습니다. 내가 원하는 것은 Google 계정으로 사용자를 인증하는 안전한 방법입니다. 사용자가 로그인 한 후에는 계정의 이메일 주소 만 있으면됩니다. – MikkoP

+0

https://developers.google.com/accounts/docs/OAuth2Login – Kuffs

+0

인증은 [Google 개발자 페이지] (https://developers.google.com/appengine/docs/java/endpoints/)에서 같은 방식으로 수행되었습니다. consume_android). 나는 안전한 지 확실하지 않습니다. 왜냐하면 같은 페이지에서 모든 종류의 다른 것들에 대해서도 말하고 있기 때문입니다. 인증 프로세스와 관련이 있습니까? – MikkoP

1

내 질문에 내가 AccountPicker.newChooseAccountIntent 의도 를 사용하고 사용자가 하나 개의 계정을 선택하고 내가 얻을 것이다 경우, 그것은이 이미 방법으로 안드로이드를 확인한하여 onActivityResult에서 결과로 이메일 주소는 것으로,이다됩니다 사용자가 계정에 올바른 비밀번호 을 입력해야합니다.

예, 물론 계정이 어떤 점에서, 즉 사용자가 접속을 설정 올바른 사용자 이름과 암호를 입력되었음을 의미합니다. 나는 그것이 사용자에 대한 권한이 없습니다 이메일 주소를 얻을 수 있는지, 물어보고 싶은 이로써

. 이메일 주소가 사용자에게 속하는지 확인하기 위해 추가 확인이 필요합니까?

아니요, 해당 이메일 주소가 올바른 비밀번호를 입력하여 설정되었으므로 더 이상 확인할 필요가 없습니다. 사용자가 해당 계정에 계속 로그인 할 수 있는지 여부 (암호가 변경된 경우)는 알 수 없습니다.

내 응용 프로그램은 사용자의 문자 메시지에 대해, 그래서 해커들이에 대한 암호가없는 계정을 선택하여 다음에 액세스 할 수 있도록하고 싶지 않아요.누군가가 사용자의 Google 계정에 침입 관리하는 경우

, 즉 당신이 그런 것들로부터 사용자를 보호 할 수 없습니다, 뭔가 다른 사용자가 풀리면 경우, 등 안전한 암호를 사용하여 자신을 보호해야 그/그녀의 전화를 분실했거나 도난 당했을 때 Google 비밀번호를 변경할 수 있지만 계좌는 분실/도난당한 전화에 계속 설치됩니다. 새 사용자는 GMail에 로그인 할 수 없지만 앱에 대한 액세스는 허용됩니다.

나는 이 여러 장치에서 사용자를 인증 할 수있는 간단한 방법이기 때문에 자신의 구글 계정으로 내 응용 프로그램의 사용자를 인증 할 수 있습니다.

나는 그것이 가장 간단한 방법이라고 주장하지 않을 것입니다. 먼저 Android 사용자는 Google 계정이 없을 수도 있습니다. 계정을 가지고 있지 않아도됩니다. 둘째, 앱이 인터넷에 액세스하여 중앙 집중식 사용자 DB를 사용하는 것 같습니다. 해커가 Google 계정의 사용자 이름 만 사용하여 인증을받지 않도록 웹 앱이 안전하다고 확신합니까? 사용자에게 서비스에 대한 웹 인터페이스를 제공하려는 경우 물론 Google 사용자 이름만으로는 충분하지 않습니다.

귀하의 질문에 정답이지만, 귀하의 문제를 해결한다는 것이 확실하지 않습니다.

동의어, 모든 질문에 언급되어 있으며이 답변에서 인증이라고하지 않습니다. 당신은 아무 것도하지 않고, 오히려 그것을 피하려고합니다.

+0

프로그래머가 GoogleAuthUtil을 사용하여 토큰을 얻는 경우 드라이브 확인과 같은 Google 서비스에 액세스하기위한 것일뿐입니다. – MikkoP

+0

"계좌 확인"이란 무엇을 의미합니까? 일반적으로 인증은 일부 앱 (예 : 사용자의 Gmail을 읽는 중)에 액세스하려고 할 때 수행됩니다. 앱에서 해당 서비스 사용 허용 한도를 묻는 메시지가 나타납니다. 사용자에게 "애플리케이션 X가 귀하의 Google 메일을 읽을 수있게 하시겠습니까?"라는 화면이 표시됩니다. 사용자가 yes를 누르면 응용 프로그램 X에 나중에 GMail을 인증하는 데 사용하는 토큰이 부여됩니다. 토큰은 응용 프로그램 X가 계정에 암호를 지정하지 않도록 사용됩니다 (다른 것들 중에서). 하지만 솔루션에는 토큰에 대한 언급이 없습니다. 당신은 검색하거나 사용하지 않습니다. – Eir

+0

안녕하세요 @MikkoP 현상금에 무슨 일이 일어 났습니까? 너는 어떤 대답도 받아들이지 않았다. 왜 그런가? – Eir