def register_client(): if 'username' in session: username = session['username'] user = User.query.filter_by(username=username).first() if user is not None and user.is_admin: form = RegisterClientForm() if form.validate_on_submit(): client = Client() client.user_id = user.id client.client_id = gen_salt(24) client.client_id_issued_at = int(time.time()) client_metadata = { "client_name": form.client_name.data, "client_uri": form.client_uri.data, "redirect_uris": split_by_crlf(form.redirect_uris.data), "token_endpoint_auth_method": form.token_endpoint_auth_method.data, "response_types": split_by_crlf(form.response_types.data), } client.set_client_metadata(client_metadata) if form.token_endpoint_auth_method.data == "none": client.client_secret = '' else: client.client_secret = gen_salt(48) db.session.add(client) db.session.commit() return render_template('client_register_success.html', client_id=client.client_id, client_secret=client.client_secret) return render_template('register_client.html', form=form) else: return "User does not have admin privileges", 403 else: return "Need to be logged in", 403
def generate_client(): client = Client() client.client_id = gen_salt(40) client.client_type = "public" mongo.db.clients.insert(_to_json(client)) return client