2013-05-14 4 views
3

데이터베이스 용으로 Parse API를 사용하고 제공 한 사용자 이름 서비스를 사용하려고했습니다. 나는 순서로 로그인 할 수있는 튜토리얼에서 이렇게 이해 : 구문 분석 : 유효하지 않은 사용자 이름, 암호

ParseUser.logInInBackground("Jerry", "showmethemoney", new LogInCallback() { 
    public void done(ParseUser user, ParseException e) { 
    if (user != null) { 
     // Hooray! The user is logged in. 
    } else { 
     // Signup failed. Look at the ParseException to see what happened. 
    } 
    } 
}); 

로그인에 실패하면

, 나는 단지 내가 그것을에서 입력 한 사용자 이름이 유효하지 않아 실패, 또는 ​​암호 여부를 알 수 있는지 궁금 해서요. 난 당신이 e.getCode() 발생한 오류의 유형을 얻을 할 수 있다는 것을 알고 있지만,이 사이트 https://parse.com/docs/android/api/에서 나는 어떤 오류 코드가 잘못된 사용자 이름/암호

에 관한 찾을 당신에게 제임스 감사 없습니다

답변

-1

ParseException에 대한 오류 코드는 ParseException에 문서화되어 있으며 Parse Android API reference docs입니다.

+0

유효하지 않은 사용자 이름 및/또는 잘못된 암호를 나타내는 오류 코드를 지정하지 않았으므로이 문제는 해결되지 않습니다. – isaach1000

+0

예 isaach1000이 맞습니다. 이 문제를 조사해 보았지만 관련 오류 코드를 찾을 수 없습니다. – James

2

유효하지 않은 사용자와 유효하지 않은 비밀번호를 구별하는 것이 보안 상 위험 할 수 있습니다. 이 정보는 해커가 유효한 사용자의 사용자 이름을 알 수있는 잘못된 비밀번호 응답을 앱에서 제공 할 때까지 해커가 계정 이름을 테스트하게합니다. 따라서 파스는이를 고의로 어렵게 만든다고 생각합니다.

그러나 주어진 사용자 이름으로 사용자를 검색하는 쿼리를 사용하여이를 수행 할 수 있습니다. 쿼리가 사용자를 반환하지 않으면 사용자 이름이 유효하지 않습니다. 사용자 이름이 사용자를 반환하면 암호가 유효하지 않습니다.

3

이것은 내 응용 프로그램 중 하나에서 사용자 이름/암호 유효성을 확인한 것입니다. 이 메서드는 ParseUser 클래스에 대해 쿼리를 전송하고 전달 된 사용자 이름이 있으면 true를 반환하고 사용자 이름이 유효하다는 것을 알고 있으면 true를 반환합니다.

(ParseException.OBJECT_NOT_FOUND을 위해 외부 확인 - 함께이와 사용자가 등록 할 필요가 또는 잘못된 암호가 있는지 여부를 우리가 알 수 있습니다.)

public boolean queryCredentials(String username) { 
     ParseQuery<ParseUser> queryuserlist = ParseUser.getQuery(); 
     queryuserlist.whereEqualTo("username", username); 
     try { 
      //attempt to find a user with the specified credentials. 
      return (queryuserlist.count() != 0) ? true : false; 
     } catch (ParseException e) { 
      return false; 
     } 
    } 

는 희망이이 문제를 가진 사람을 도울 수 있습니다.

2

내 테스트에 따르면 사용자의 자격 증명이 유효하지 않은 경우 코드 101 (ObjectNotFound)이 사용 된 것처럼 보입니다. 특별히 isaach1000이 언급 된 보안상의 이유 때문에 사용자 이름이나 암호로 인한 것인지 특별히 확인하지 않는 것이 좋습니다. 그러나 반드시 필요한 경우 Spencer의 대답을 참조하십시오.

관련 문제