Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
django-cas-server
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Samir
django-cas-server
Commits
d4642852
Commit
d4642852
authored
Aug 05, 2016
by
Valentin Samir
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code factorisation in models.py
parent
ee003b6b
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
102 additions
and
111 deletions
+102
-111
cas_server/models.py
cas_server/models.py
+80
-95
cas_server/tests/test_federate.py
cas_server/tests/test_federate.py
+2
-2
cas_server/tests/utils.py
cas_server/tests/utils.py
+0
-14
cas_server/utils.py
cas_server/utils.py
+20
-0
No files found.
cas_server/models.py
View file @
d4642852
This diff is collapsed.
Click to expand it.
cas_server/tests/test_federate.py
View file @
d4642852
...
@@ -261,7 +261,7 @@ class FederateAuthLoginLogoutTestCase(
...
@@ -261,7 +261,7 @@ class FederateAuthLoginLogoutTestCase(
# SLO for an unkown ticket should do nothing
# SLO for an unkown ticket should do nothing
response
=
client
.
post
(
response
=
client
.
post
(
"/federate/
%
s"
%
provider
.
suffix
,
"/federate/
%
s"
%
provider
.
suffix
,
{
'logoutRequest'
:
tests_
utils
.
logout_request
(
utils
.
gen_st
())}
{
'logoutRequest'
:
utils
.
logout_request
(
utils
.
gen_st
())}
)
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
content
,
b
"ok"
)
self
.
assertEqual
(
response
.
content
,
b
"ok"
)
...
@@ -288,7 +288,7 @@ class FederateAuthLoginLogoutTestCase(
...
@@ -288,7 +288,7 @@ class FederateAuthLoginLogoutTestCase(
# 3 or 'CAS_2_SAML_1_0'
# 3 or 'CAS_2_SAML_1_0'
response
=
client
.
post
(
response
=
client
.
post
(
"/federate/
%
s"
%
provider
.
suffix
,
"/federate/
%
s"
%
provider
.
suffix
,
{
'logoutRequest'
:
tests_
utils
.
logout_request
(
ticket
)}
{
'logoutRequest'
:
utils
.
logout_request
(
ticket
)}
)
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
content
,
b
"ok"
)
self
.
assertEqual
(
response
.
content
,
b
"ok"
)
...
...
cas_server/tests/utils.py
View file @
d4642852
...
@@ -340,17 +340,3 @@ class DummyCAS(BaseHTTPServer.BaseHTTPRequestHandler):
...
@@ -340,17 +340,3 @@ class DummyCAS(BaseHTTPServer.BaseHTTPRequestHandler):
httpd_thread
.
daemon
=
True
httpd_thread
.
daemon
=
True
httpd_thread
.
start
()
httpd_thread
.
start
()
return
(
httpd
,
host
,
port
)
return
(
httpd
,
host
,
port
)
def
logout_request
(
ticket
):
"""build a SLO request XML, ready to be send"""
return
u"""<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="
%(id)
s" Version="2.0" IssueInstant="
%(datetime)
s">
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"></saml:NameID>
<samlp:SessionIndex>
%(ticket)
s</samlp:SessionIndex>
</samlp:LogoutRequest>"""
%
\
{
'id'
:
utils
.
gen_saml_id
(),
'datetime'
:
timezone
.
now
()
.
isoformat
(),
'ticket'
:
ticket
}
cas_server/utils.py
View file @
d4642852
...
@@ -17,6 +17,7 @@ from django.http import HttpResponseRedirect, HttpResponse
...
@@ -17,6 +17,7 @@ from django.http import HttpResponseRedirect, HttpResponse
from
django.contrib
import
messages
from
django.contrib
import
messages
from
django.contrib.messages
import
constants
as
DEFAULT_MESSAGE_LEVELS
from
django.contrib.messages
import
constants
as
DEFAULT_MESSAGE_LEVELS
from
django.core.serializers.json
import
DjangoJSONEncoder
from
django.core.serializers.json
import
DjangoJSONEncoder
from
django.utils
import
timezone
import
random
import
random
import
string
import
string
...
@@ -680,3 +681,22 @@ def dictfetchall(cursor):
...
@@ -680,3 +681,22 @@ def dictfetchall(cursor):
dict
(
zip
(
columns
,
row
))
dict
(
zip
(
columns
,
row
))
for
row
in
cursor
.
fetchall
()
for
row
in
cursor
.
fetchall
()
]
]
def
logout_request
(
ticket
):
"""
Forge a SLO logout request
:param unicode ticket: A ticket value
:return: A SLO XML body request
:rtype: unicode
"""
return
u"""<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="
%(id)
s" Version="2.0" IssueInstant="
%(datetime)
s">
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"></saml:NameID>
<samlp:SessionIndex>
%(ticket)
s</samlp:SessionIndex>
</samlp:LogoutRequest>"""
%
{
'id'
:
gen_saml_id
(),
'datetime'
:
timezone
.
now
()
.
isoformat
(),
'ticket'
:
ticket
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment