https가 아닌 경우 토큰은 일반적으로 사용자 정보를 암호화하여 얻은 코드 문자열입니다. 예를 들어, 토큰 = md5(사용자 이름+비밀번호)라고 하면 서버와 통신할 때 토큰과 사용자 이름을 서버에 전달합니다. 서버가 사용자 이름을 얻은 후 데이터베이스에서 해당 비밀번호를 쿼리합니다. 그런 다음 md5(사용자 이름+비밀번호)를 사용하여 클라이언트가 전달한 비밀번호와 비교하십시오. 토큰은 일반적으로 로그인 시 서버에서 클라이언트로 반환됩니다. 클라이언트는 토큰을 유지하므로 앱의 로그인 상태가 유지됩니다.
https가 아닌 경우 토큰은 일반적으로 사용자 정보를 암호화하여 얻은 코드 문자열입니다. 예를 들어, 토큰 = md5(사용자 이름+비밀번호)라고 하면 서버와 통신할 때 토큰과 사용자 이름을 서버에 전달합니다. 서버가 사용자 이름을 얻은 후 데이터베이스에서 해당 비밀번호를 쿼리합니다. 그런 다음 md5(사용자 이름+비밀번호)를 사용하여 클라이언트가 전달한 비밀번호와 비교하십시오. 토큰은 일반적으로 로그인 시 서버에서 클라이언트로 반환됩니다. 클라이언트는 토큰을 유지하므로 앱의 로그인 상태가 유지됩니다.
말씀하신 대로 각 사용자에게 고유 식별자를 할당하는 것 이상은 아닙니다
이 문제는 전혀 고려할 필요가 없습니다. userId+timestamp 다음에 base64 난독화된 문자열을 토큰으로 완전히 사용할 수 있기 때문입니다. 이렇게 하면 토큰의 길이가 그리 길지 않으며, 중간 전송 중에 가로채질 염려도 없습니다.