Skip to content

Commit 9fc537a

Browse files
committed
Add SLO docs
1 parent 509bd91 commit 9fc537a

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

README.rst

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,73 @@ default ``users`` and ``admins,managers``
182182
``[',', ';']`` ``users``, ``admins``, and ``managers``
183183
=========================== =======================================
184184

185+
186+
Single Logout
187+
~~~~~~~~~~~~~
188+
189+
`Single Logout`_ (SLO), if initiated by the Django webapp (called front-channel logout), is supported by pointing ``LOGOUT_REDIRECT_URL`` to the Shibboleth SP SLO endpoint (``/Shibboleth.sso/Logout``), if you are using the provided ShibbolethLogoutView for logout.
190+
191+
If you want to support SLO initiated by another app or the IdP (back-channel logout), you need to enable it using the ``SINGLE_LOGOUT_BACKCHANNEL`` setting, but this feature requires additional dependencies. For more details, see the following sections.
192+
193+
SLO is supported by Shibboleth IdP since 3.2.0 (with fixes in 3.2.1) and Shibboleth SP (version >=2.4 recommended).
194+
195+
Additional Requirements
196+
+++++++++++++++++++++++
197+
198+
* lxml (tested with 4.1.0)
199+
* spyne (tested with 2.12.14)
200+
201+
202+
Configuration
203+
+++++++++++++
204+
205+
* Add shibboleth to installed apps.
206+
207+
.. code-block:: python
208+
209+
INSTALLED_APPS += (
210+
'shibboleth',
211+
)
212+
213+
* Run migrations.
214+
215+
.. code-block:: bash
216+
217+
django-admin migrate
218+
219+
220+
* Add back-channel SLO endpoint to urlpatterns, if you don't already include shibboleth.urls.
221+
222+
.. code-block:: python
223+
224+
if SINGLE_LOGOUT_BACKCHANNEL:
225+
from spyne.protocol.soap import Soap11
226+
from spyne.server.django import DjangoView
227+
from .slo_view import LogoutNotificationService
228+
229+
urlpatterns += [
230+
url(r'^logoutNotification/', DjangoView.as_view(
231+
services=[LogoutNotificationService],
232+
tns='urn:mace:shibboleth:2.0:sp:notify',
233+
in_protocol=Soap11(validator='lxml'), out_protocol=Soap11())),
234+
]
235+
236+
* Enable SLO in `shibboleth2.xml` of Shibboleth SP.
237+
238+
.. code-block:: xml
239+
240+
<Logout>SAML2 Local</Logout>
241+
242+
* Configure SLO notification in `shibboleth2.xml` of Shibboleth SP.
243+
244+
.. code-block:: xml
245+
246+
<Notify
247+
Channel="back"
248+
Location="https://<yourserver>/shib/logoutNotification/" />
249+
250+
185251
.. |build-status| image:: https://travis-ci.org/Brown-University-Library/django-shibboleth-remoteuser.svg?branch=master&style=flat
186252
:target: https://travis-ci.org/Brown-University-Library/django-shibboleth-remoteuser
187253
:alt: Build status
254+
.. _`Single Logout`: https://wiki.shibboleth.net/confluence/display/SHIB2/SLOWebappAdaptation

0 commit comments

Comments
 (0)