1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00

Pr 482 534 (#535)

* fix oauth redirect if login is required,
fix login redirect getting lost on auth failure

* fix bad rdap test (#534)
This commit is contained in:
Matt Griswold
2019-07-30 12:43:56 -05:00
committed by GitHub
parent c04e8c7231
commit e0ee11fcf9
3 changed files with 13 additions and 4 deletions

View File

@@ -10,7 +10,7 @@
{% csrf_token %}
<div class="col-md-4 col-sm-3 col-xs-12"></div>
<div class="col-md-4 col-sm-6 col-xs-12 panel">
<input type="hidden" name="next" id="next" value="{{ request.GET.next }}" />
<input type="hidden" name="next" id="next" value="{{ next }}" />
<div class="form-group">
<input placeholder="{% trans "Username" %}" class="form-control" type="text" id="username" name="username" />
</div>

View File

@@ -71,6 +71,12 @@ BASE_ENV = {
}
def is_oauth_authorize(url):
if url.find("/oauth2/authorize/") == 0:
return True
return False
def export_permissions(user, entity):
"""
returns dict of permission bools for the specified user and entity
@@ -709,8 +715,10 @@ def view_login(request, errors=None):
template = loader.get_template('site/login.html')
redir = request.GET.get("next", request.POST.get("next"))
env = BASE_ENV.copy()
env.update({'errors': errors})
env.update({'errors': errors, "next": redir})
return HttpResponse(template.render(env, request))
@@ -1598,7 +1606,8 @@ def request_login(request):
try:
resolve(redir)
except Resolver404:
redir = "/"
if not is_oauth_authorize(redir):
redir = "/"
user = authenticate(username=username, password=password)
if user is not None:

View File

@@ -43,7 +43,7 @@ def test_recurse_contacts(rdap):
asn = rdap.get_asn(3333)
assert rdap == asn._rdapc
assert len(asn.emails) > 1
assert len(rdap.history) > len(asn.emails)
assert len(rdap.history) > 1
def test_renumber_ipaddress():
ip4 = renumber_ipaddress(