Fixed signups and oauth buttons now only show if enabled
The signup form now works and the oauth buttons are only visible if they have been enabled in the settings.json file
This commit is contained in:
@@ -2,12 +2,12 @@
|
||||
"branding":{
|
||||
"name":"AiThingy"
|
||||
},
|
||||
"auth_mode":"code",
|
||||
"signup_mode":"code",
|
||||
"default_role":"none",
|
||||
"default_permissions":[
|
||||
"createChat"
|
||||
],
|
||||
"auth_codes":[
|
||||
"signup_codes":[
|
||||
{
|
||||
"name":"code1",
|
||||
"code":"a1b2c3",
|
||||
@@ -29,5 +29,6 @@
|
||||
"enabled":"true",
|
||||
"client_id":"client_id",
|
||||
"client_secret":"client_secret"
|
||||
}
|
||||
},
|
||||
"mongo_password":"yourMongoPassword"
|
||||
}
|
||||
8
main.py
8
main.py
@@ -23,7 +23,7 @@ github_token_endpoint = "https://github.com/login/oauth/access_token"
|
||||
github_user_endpoint = "https://api.github.com/user"
|
||||
|
||||
mongoUser = 'root'
|
||||
mongoPassword = '39zj6bNT5gaXbmuOBAYn5pZRO'
|
||||
mongoPassword = settings["mongo_password"]
|
||||
mongoHost = 'localhost'
|
||||
mongoPort = '27017'
|
||||
mongoDatabase = 'database'
|
||||
@@ -156,7 +156,7 @@ def createChat():
|
||||
def signup():
|
||||
token = request.cookies.get('auth_token', 'none')
|
||||
if (token == 'none'):
|
||||
return render_template('signup.html', appName=appName, githubUrl=github_auth_endpoint)
|
||||
return render_template('signup.html', appName=appName, githubUrl=github_auth_endpoint, githublogin=settings["github_oauth"]["enabled"], oauthlogin=settings["oauth_login"])
|
||||
|
||||
# Index page
|
||||
# If logged in return home menu (Or logout if token is expired),
|
||||
@@ -165,7 +165,7 @@ def signup():
|
||||
def index():
|
||||
token = request.cookies.get('auth_token', 'none')
|
||||
if (token == 'none'):
|
||||
return render_template('login.html', appName=appName, githubUrl=github_auth_endpoint)
|
||||
return render_template('login.html', appName=appName, githubUrl=github_auth_endpoint, githublogin=settings["github_oauth"]["enabled"], oauthlogin=settings["oauth_login"])
|
||||
else:
|
||||
user = usersCollection.find_one({'tokens.token': token}, {"_id":1,"tokens":{"$elemMatch": {"token":token}}})
|
||||
if (user):
|
||||
@@ -312,13 +312,11 @@ def handleSignup():
|
||||
creationDate = int(datetime.now().timestamp())
|
||||
accessCode = request.json['access_code']
|
||||
displayName = request.json['displayname']
|
||||
|
||||
# Check if details are taken
|
||||
sameUsername = usersCollection.count_documents({"username":username})
|
||||
sameEmail = usersCollection.count_documents({"email":email})
|
||||
if (sameUsername != 0 ) or ( sameEmail != 0):
|
||||
return jsonify("User already exists")
|
||||
|
||||
# Check for appropriate role
|
||||
codeFound = False
|
||||
if (settings["signup_mode"] == "none"):
|
||||
|
||||
@@ -154,13 +154,17 @@
|
||||
<h1>Sign into {{ appName }}</h1>
|
||||
<p>Log in:</p>
|
||||
</div>
|
||||
{% if oauthlogin == "true" %}
|
||||
<div class="oauth-buttons">
|
||||
{% if githublogin == "true" %}
|
||||
<a href="{{ githubUrl }}" class="button">
|
||||
<img src="{{ url_for('static', filename='github-icon.png') }}" alt="Github logo">
|
||||
Sign in with Github
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="divider">Or</div>
|
||||
{% endif %}
|
||||
<div class="emaillogin">
|
||||
<input id="userbox" class="input" type="text" name="username" placeholder="Username">
|
||||
<input id="passbox" class="input" type="password" name="password" placeholder="Password">
|
||||
|
||||
@@ -154,13 +154,17 @@
|
||||
<h1>Sign up to {{ appName }}</h1>
|
||||
<p>Please fill out your details:</p>
|
||||
</div>
|
||||
{% if oauthlogin == "true" %}
|
||||
<div class="oauth-buttons">
|
||||
{% if githublogin == "true" %}
|
||||
<a href="{{ githubUrl }}" class="button">
|
||||
<img src="{{ url_for('static', filename='github-icon.png') }}" alt="Github logo">
|
||||
Sign up with Github
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="divider">Or</div>
|
||||
{% endif %}
|
||||
<div class="emaillogin">
|
||||
<input id="userbox" class="input" type="text" name="username" placeholder="Username">
|
||||
<input id="displaybox" class="input" type="text" name="display" placeholder="Display name">
|
||||
@@ -168,7 +172,7 @@
|
||||
<input id="passbox" class="input" type="password" name="password" placeholder="Password">
|
||||
<input id="codebox" class="input" type="password" name="password" placeholder="Signup Code">
|
||||
</div>
|
||||
<a onclick="login(document.getElementById('userbox').value, document.getElementById('passbox').value, document.getElementById('displaybox').value), document.getElementById('emailbox').value, document.getElementById('codebox').value" class="button loginbutton">Sign Up</a>
|
||||
<a onclick="login(document.getElementById('userbox').value, document.getElementById('passbox').value, document.getElementById('displaybox').value, document.getElementById('emailbox').value, document.getElementById('codebox').value)" class="button loginbutton">Sign Up</a>
|
||||
<p id="incorrectdetailstext" style="display: none;">Incorrect signup code</p>
|
||||
<p id="existingusertext" style="display: none;">User already exists</p>
|
||||
<p id="somethingwrongtext" style="display: none;">Something went wrong</p>
|
||||
@@ -200,8 +204,7 @@
|
||||
} else if (result == "Signups have been disabled" || result == "An error occured") {
|
||||
document.getElementById("somethingwrongtext").style = "display: block;"
|
||||
} else {
|
||||
document.cookie = `auth_token=${result}`;
|
||||
window.location.reload();
|
||||
window.location = "{{ url_for('index') }}";
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error.message)
|
||||
|
||||
Reference in New Issue
Block a user