You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## **Notice:** This project is currently not under active development, please see [#320](https://github.com/onelogin/python3-saml/issues/320) for more information.
8
-
9
7
Add SAML support to your Python software using this library.
10
-
Forget those complicated libraries and use the open source library provided
11
-
and supported by OneLogin Inc.
8
+
Forget those complicated libraries and use the open source library provided by the SAML tool community.
12
9
13
-
This version supports Python3. There is a separate version that only support Python2: [python-saml](https://github.com/onelogin/python-saml)
10
+
This version supports Python3. Python 2 support was deprecated on Jan 1st, 2020: [python-saml](https://github.com/onelogin/python-saml)
14
11
15
12
#### Warning ####
16
13
@@ -34,7 +31,7 @@ Update ``python3-saml`` to ``>= 1.2.1``, ``1.2.0`` had a bug on signature valida
34
31
35
32
#### Security Guidelines ####
36
33
37
-
If you believe you have discovered a security vulnerability in this toolkit, please report it at https://www.onelogin.com/security with a description. We follow responsible disclosure guidelines, and will work with you to quickly find a resolution.
34
+
If you believe you have discovered a security vulnerability in this toolkit, please report it in an issue with a description. We follow responsible disclosure guidelines, and will work with you to quickly find a resolution.
38
35
39
36
Why add SAML support to my software?
40
37
------------------------------------
@@ -62,7 +59,7 @@ since 2002, but lately it is becoming popular due its advantages:
62
59
General Description
63
60
-------------------
64
61
65
-
OneLogin's SAML Python toolkit lets you turn your Python application into a SP
62
+
SAML Python toolkit lets you turn your Python application into a SP
66
63
(Service Provider) that can be connected to an IdP (Identity Provider).
67
64
68
65
**Supports:**
@@ -83,7 +80,6 @@ OneLogin's SAML Python toolkit lets you turn your Python application into a SP
83
80
***Easy to use** - Programmer will be allowed to code high-level and
84
81
low-level programming, 2 easy to use APIs are available.
85
82
***Tested** - Thoroughly tested.
86
-
***Popular** - OneLogin's customers use it. Add easy support to your Django/Flask web projects.
87
83
88
84
Installation
89
85
------------
@@ -103,8 +99,8 @@ Review the ``setup.py`` file to know the version of the library that ``python3-s
103
99
104
100
The toolkit is hosted on GitHub. You can download it from:
Copy the core of the library ``(src/onelogin/saml2 folder)`` and merge the ``setup.py`` inside the Python application. (Each application has its structure so take your time to locate the Python SAML toolkit in the best place).
110
106
@@ -148,10 +144,10 @@ SAML Messages have a limited timelife (NotBefore, NotOnOrAfter) that
148
144
make harder this kind of attacks, but they are still possible.
149
145
150
146
In order to avoid them, the SP can keep a list of SAML Messages or Assertion IDs alredy valdidated and processed. Those values only need
151
-
to be stored the amount of time of the SAML Message life time, so
147
+
to be stored the amount of time of the SAML Message life time, so
152
148
we don't need to store all processed message/assertion Ids, but the most recent ones.
153
149
154
-
The OneLogin_Saml2_Auth class contains the [get_last_request_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L357), [get_last_message_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L364) and [get_last_assertion_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L371) methods to retrieve the IDs
150
+
The OneLogin_Saml2_Auth class contains the [get_last_request_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L357), [get_last_message_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L364) and [get_last_assertion_id](https://github.com/onelogin/python3-saml/blob/ab62b0d6f3e5ac2ae8e95ce3ed2f85389252a32d/src/onelogin/saml2/auth.py#L371) methods to retrieve the IDs
155
151
156
152
Checking that the ID of the current Message/Assertion does not exists in the lis of the ones already processed will prevent replay attacks.
157
153
@@ -161,7 +157,7 @@ Getting Started
161
157
162
158
### Knowing the toolkit ###
163
159
164
-
The new OneLogin SAML Toolkit contains different folders (``certs``, ``lib``, ``demo-django``, ``demo-flask`` and ``tests``) and some files.
160
+
The new SAML Toolkit contains different folders (``certs``, ``lib``, ``demo-django``, ``demo-flask`` and ``tests``) and some files.
165
161
166
162
Let's start describing them:
167
163
@@ -267,7 +263,7 @@ This is the ``settings.json`` file:
267
263
// URL Location where the <Response> from the IdP will be returned
268
264
"url":"https://<sp_domain>/?acs",
269
265
// SAML protocol binding to be used when returning the <Response>
270
-
// message. OneLogin Toolkit supports this endpoint for the
266
+
// message. SAML Toolkit supports this endpoint for the
// Specify if you want the SP to view assertions with duplicated Name or FriendlyName attributes to be valid
488
484
// Defaults to false if not specified
489
485
'allowRepeatAttributeName':false,
@@ -562,7 +558,7 @@ There's an easier method -- use a metadata exchange. Metadata is just an XML fi
562
558
563
559
Using ````parse_remote```` IdP metadata can be obtained and added to the settings without further ado.
564
560
565
-
Take in mind that the OneLogin_Saml2_IdPMetadataParser class does not validate in any way the URL that is introduced in order to be parsed.
561
+
Take in mind that the OneLogin_Saml2_IdPMetadataParser class does not validate in any way the URL that is introduced in order to be parsed.
566
562
567
563
Usually the same administrator that handles the Service Provider also sets the URL to the IdP, which should be a trusted resource.
568
564
@@ -985,7 +981,7 @@ Described below are the main classes and methods that can be invoked from the SA
985
981
986
982
#### OneLogin_Saml2_Auth - auth.py ####
987
983
988
-
Main class of OneLogin Python Toolkit
984
+
Main class of SAML Python Toolkit
989
985
990
986
*`__init__` Initializes the SP SAML instance.
991
987
****login*** Initiates the SSO process.
@@ -1078,7 +1074,7 @@ SAML 2 Logout Response class
1078
1074
1079
1075
#### OneLogin_Saml2_Settings - settings.py ####
1080
1076
1081
-
Configuration of the OneLogin Python Toolkit
1077
+
Configuration of the SAML Python Toolkit
1082
1078
1083
1079
*`__init__` Initializes the settings: Sets the paths of the different folders and Loads settings info from settings file or array/object provided.
1084
1080
****check_settings*** Checks the settings info.
@@ -1246,7 +1242,7 @@ The flask project contains:
1246
1242
1247
1243
#### SP setup ####
1248
1244
1249
-
The Onelogin's Python Toolkit allows you to provide the settings info in 2 ways: Settings files or define a setting dict. In the ``demo-flask``, it uses the first method.
1245
+
The SAML Python Toolkit allows you to provide the settings info in 2 ways: Settings files or define a setting dict. In the ``demo-flask``, it uses the first method.
1250
1246
1251
1247
In the ``index.py`` file we define the ``app.config['SAML_PATH']``, that will target to the ``saml`` folder. We require it in order to load the settings files.
1252
1248
@@ -1319,7 +1315,7 @@ The tornado project contains:
1319
1315
1320
1316
#### SP setup ####
1321
1317
1322
-
The Onelogin's Python Toolkit allows you to provide the settings info in 2 ways: Settings files or define a setting dict. In the ``demo-tornado``, it uses the first method.
1318
+
The SAML Python Toolkit allows you to provide the settings info in 2 ways: Settings files or define a setting dict. In the ``demo-tornado``, it uses the first method.
1323
1319
1324
1320
In the ``settings.py`` file we define the ``SAML_PATH``, that will target to the ``saml`` folder. We require it in order to load the settings files.
1325
1321
@@ -1392,7 +1388,7 @@ The django project contains:
1392
1388
1393
1389
#### SP setup ####
1394
1390
1395
-
The Onelogin's Python Toolkit allows you to provide the settings info in 2 ways: settings files or define a setting dict. In the demo-django it used the first method.
1391
+
The SAML Python Toolkit allows you to provide the settings info in 2 ways: settings files or define a setting dict. In the demo-django it used the first method.
1396
1392
1397
1393
After set the ``SAML_FOLDER`` in the ``demo/settings.py``, the settings of the Python toolkit will be loaded on the Django web.
1398
1394
@@ -1472,7 +1468,7 @@ The Pyramid project contains:
1472
1468
1473
1469
#### SP setup ####
1474
1470
1475
-
The Onelogin's Python Toolkit allows you to provide the settings info in 2 ways: settings files or define a setting dict. In ``demo_pyramid`` the first method is used.
1471
+
The SAML Python Toolkit allows you to provide the settings info in 2 ways: settings files or define a setting dict. In ``demo_pyramid`` the first method is used.
1476
1472
1477
1473
In the ``views.py`` file we define the ``SAML_PATH``, which will target the ``saml`` folder. We require it in order to load the settings files.
0 commit comments