Skip to content

Commit f9be6fd

Browse files
committed
Switched basic auth to jwt
1 parent ae4aecf commit f9be6fd

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ Changelog
77

88
- Initial release.
99
[sgeulette, gbastien, aduchene]
10+
- Switched basic auth to jwt.
11+
[chris-adam]

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"collective.compoundcriterion",
5757
"collective.eeafaceted.z3ctable",
5858
"eea.facetednavigation",
59-
"imio.helpers",
59+
"imio.helpers>1.3.8",
6060
"imio.prettylink",
6161
"imio.pyutils",
6262
# 'z3c.jbot',

src/imio/esign/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
_ = MessageFactory("imio.esign")
1212
PLONE_VERSION = int(api.env.plone_version()[0])
1313
ESIGN_ROOT_URL = os.getenv("ESIGN_ROOT_URL", "http://127.0.0.1:8000")
14-
ESIGN_CREDENTIALS = os.getenv("ESIGN_CREDENTIALS", "")
1514
manage_session_perm = "imio.esign: Manage Sessions"
1615

1716

src/imio/esign/browser/views.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from datetime import datetime
33
from datetime import timedelta
44
from imio.esign import _
5-
from imio.esign import ESIGN_CREDENTIALS
65
from imio.esign import ESIGN_ROOT_URL
76
from imio.esign.browser.table import external_session_link
87
from imio.esign.browser.table import SessionsTable
@@ -131,7 +130,6 @@ def __call__(self, session_id=None):
131130
return self.context.absolute_url() + "/@@esign-sessions-listing"
132131
resp = create_external_session(
133132
int(session_id),
134-
b64_cred=ESIGN_CREDENTIALS,
135133
esign_root_url=ESIGN_ROOT_URL,
136134
)
137135
if resp == "_session_not_found_":

src/imio/esign/utils.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
from datetime import datetime
33
from datetime import timedelta
44
from imio.esign import _tr as _
5-
from imio.esign import ESIGN_CREDENTIALS
65
from imio.esign import ESIGN_ROOT_URL
76
from imio.esign.interfaces import IContextUidProvider
87
from imio.helpers.content import uuidsToObjects
98
from imio.helpers.content import uuidToObject
109
from imio.helpers.transmogrifier import get_correct_id
11-
from imio.pyutils.system import post_request
10+
from imio.helpers.ws import get_auth_token
1211
from imio.pyutils.utils import shortuid_encode_id
1312
from os import path
1413
from persistent.list import PersistentList
@@ -19,6 +18,7 @@
1918

2019
import json
2120
import logging
21+
import requests
2222

2323

2424
logger = logging.getLogger("imio.esign")
@@ -86,11 +86,10 @@ def add_files_to_session(
8686
return session_id, session
8787

8888

89-
def create_external_session(session_id, b64_cred=None, esign_root_url=None):
89+
def create_external_session(session_id, esign_root_url=None):
9090
"""Create a session with the given signers and files.
9191
9292
:param session_id: internal session id
93-
:param b64_cred: base64 encoded credentials for authentication
9493
:param esign_root_url: the root URL for the e-sign service, if not provided it will use the default ESIGN_ROOT_URL
9594
:return: session information
9695
"""
@@ -145,17 +144,21 @@ def create_external_session(session_id, b64_cred=None, esign_root_url=None):
145144
"sealCode": seal_code,
146145
}
147146

147+
# files_payload = {filename: file_content for z, filename, file_content, uid in files}
148148
files_payload = [("files", (filename, file_content)) for z, filename, file_content, uid in files]
149149

150150
# Headers avec autorisation
151-
headers = {"accept": "application/json"}
152-
b64_cred = b64_cred or ESIGN_CREDENTIALS
153-
if b64_cred:
154-
headers["Authorization"] = "Basic {}".format(b64_cred)
151+
headers = {
152+
"accept": "application/json",
153+
"Authorization": "Bearer %s" % get_auth_token(),
154+
}
155155

156156
logger.info(data_payload)
157-
ret = post_request(
158-
session_url, data={"data": json.dumps(data_payload, default=vars)}, headers=headers, files=files_payload
157+
ret = requests.post(
158+
session_url,
159+
headers=headers,
160+
data={"data": json.dumps(data_payload, default=vars)},
161+
files=files_payload,
159162
)
160163
if ret.status_code == 200:
161164
session["state"] = "sent"

0 commit comments

Comments
 (0)