示例#1
0
	def authenticate(self, username=None, password=None):
		try:
			f = urllib2.urlopen(self.minecraft_login_url,
				urllib.urlencode([('user',username),('password',password),('version',self.minecraft_version)]))
		except:
			return None
		
		ret = f.readline().strip();
		valid = ret != "Bad login"
		
		if valid:
			items = ret.split(':')
			if ret == "User not premium":
				uname = username
			else:
				uname = items[2]
			
			try:
				user = User.objects.get(username=uname)
				#user.set_password(password)
			except User.DoesNotExist:
				user = User(username=uname,password="******")
				user.save()
				
			if ret != "User not premium":
				try:
					token = user.authtoken
				except AuthToken.DoesNotExist:
					token = AuthToken(user=user)
			
				token.download_ticket = items[1]
				token.session_id = items[3]
				token.latest_version = items[0]			
				token.save()
			
			return user
		return None