2011-01-03 5 views
3

기본적으로 android에서 실행되는 모바일 응용 프로그램의 인증 서버로 Google App Engine을 사용하려고합니다. 사용자 이름과 암호는 GAE에 저장되며 내 목표는 GAE를 사용하여 모바일 응용 프로그램의 자격 증명을 저장하고 확인하는 것입니다. 이것이 가능한가? OAuth와 JSON을 살펴 봤지만 적절한 설정이 없다고 생각합니다.모바일 응용 프로그램 용 인증 서버로 사용되는 Google App Engine

또한 잘못된 길로 가고 있다면 적절한 경로를 가르쳐주세요.

답변

0

"storign credential"으로 사용자 이름과 암호를 저장한다는 의미라면 잘못된 방향으로 가고 있다고 생각합니다. OAuth 또는 OpenID에 대해 이야기하고 있든간에 위임 된 인증 메커니즘의 비밀번호 (사용자 이름이 아닐 수도 있음)를 보거나 액세스 할 수 없다는 아이디어가 있습니다. 대신 작업을 수행 할 인증 또는 권한 부여 토큰을받습니다 (OpeniD의 경우 이름/성 및 전자 메일 주소와 같은 사람에 대한 일부 메타 정보).

그런데 Janrain과 같은 타사를 고려하셨습니까?

1

GAE 인스턴스에서 더 많은 API와 유사한 구현에 관심이 있으시면 OAuth를 자세히 살펴 보겠습니다. 그러나이 모바일 응용 프로그램에 대한 자격 증명의 유효성 검사에만 관심이있는 경우 멀리 갈 필요가 없습니다.

다행히도 GAE 인스턴스를 SSL을 통해 호출 할 수 있습니다. 즉, 핸드 셰이 킹 및 암호화의 모든 업무를 오프로드 할 수 있습니다. 그러면 간단히 http-basic authentication을 사용하거나 간단히 요청의 매개 변수로 사용자 ID와 암호화 된 암호를 보냅니다.

아이폰에는 암호 저장을위한 키 체인이 있습니다. 아마도 안드로이드가 있을까요? 어쨌든, 장치 및 GAE 데이터 저장소에 암호화 된 암호를 저장하십시오. 자격 증명의 유효성을 검사 할 때 암호화 된 암호를 보냅니다. 사용자의 일반 텍스트 암호를 알지 못합니다. 그건 내가 생각하는 수준의 모호함을 제공 할 것이다 (SSL을 통해 전송 될 때 확실히 그렇다).

그러면 계정 자격 증명이 확인되었는지 여부 만 반환 할 수 있습니다.