def token(): post_data = get_post_data() is_invalid, error_message = _is_invalid_data(post_data) if is_invalid: abort(400, {'error': error_message }) app = ClientApplication.find_by_credentials(post_data['client_key'], post_data['client_secret']) if app is None: abort(400, {'error': APP_NOT_FOUND }) allowed_grant_types = app.grant_type.split(',') if post_data['grant_type'] not in allowed_grant_types: abort(400, {'error': GRANT_TYPE_NOT_ALLOWED }) today = datetime.datetime.now() expires_at = today + datetime.timedelta(days=1) a = AccessToken() a.client_application = app.key a.expires_at = expires_at a.token = ah.generate_random_string() a.token_type = post_data['grant_type'] if post_data['lead_token']: a.lead_token = post_data['lead_token'] a.put() time.sleep(1) return jsonify(data=a.to_json()), 201
def fresh_access_token(): try: access_token = AccessToken.objects.get(id=1) except AccessToken.DoesNotExist: access_token = AccessToken() url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=%s&appid=%s&secret=%s" \ % (grant_type, appID, appSecret) r = requests.get(url) message = r.json() access_token.token = message['access_token'] access_token.expires_in = int(message['expires_in']) access_token.save()
def post(self): username = self.request.get('username').strip().lower() password = self.request.get('password') try: if '@' in username: user_login = User.query(User.email_address == username).get() if user_login != None: username = user_login.username u = self.auth.get_user_by_password(username, password) token = AccessToken() token.user = self.user_model.key token.token = ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(20)) token.put() data = {} data["token"] = token.token self.response.out.write(json.dumps(data)) except( auth.InvalidAuthIdError, auth.InvalidPasswordError): self.response.out.write(json.dumps(data))