Skip to content

Commit 21116b4

Browse files
committed
Oauth2 tokens are for one-time use only
1 parent 5aa1d86 commit 21116b4

2 files changed

Lines changed: 8 additions & 22 deletions

File tree

braspag_sdk/apps/sop/services.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,19 @@ def __init__(
1919
self._sop_credentials = sop_credentials
2020
self._environment = SOPEnvironment(is_sandbox)
2121

22-
self._oauth2_token = None
23-
self._oauth2_expires_at = None
24-
25-
def _validate_oauth2_token(self):
26-
if self._oauth2_expires_at is not None and self._oauth2_expires_at > datetime.now():
27-
return
22+
def _get_oauth2_token(self):
2823
request = Oauth2Token(
2924
sop_credentials=self._sop_credentials,
3025
environment=self._environment,
3126
)
3227
response = request.execute()
33-
self._oauth2_token = response['access_token']
34-
self._oauth2_expires_at = datetime.now() + timedelta(seconds=response['expires_in'])
28+
return response['access_token']
3529

3630
def get_access_token(self):
37-
self._validate_oauth2_token()
31+
oauth2_token = self._get_oauth2_token()
3832
request = AccessToken(
3933
merchant_id=self._merchant_id,
40-
access_token=self._oauth2_token,
34+
access_token=oauth2_token,
4135
environment=self._environment,
4236
)
4337
return request.execute()

braspag_sdk/apps/split/services.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from datetime import datetime, timedelta
2-
31
from braspag_sdk.apps.payments.data import MerchantCredentials
42
from .data import *
53
from .requests import *
@@ -21,22 +19,16 @@ def __init__(
2119
self._merchant_credentials = merchant_credentials
2220
self._split_credentials = split_credentials
2321

24-
self._oauth2_token = None
25-
self._oauth2_expires_at = None
26-
27-
def _validate_oauth2_token(self):
28-
if self._oauth2_expires_at is not None and self._oauth2_expires_at > datetime.now():
29-
return
22+
def _get_oauth2_token(self):
3023
request = Oauth2Token(
3124
merchant_id=self._merchant_credentials.merchant_id,
3225
client_secret=self._split_credentials.client_secret,
3326
environment=self._environment,
3427
)
3528
response = request.execute()
36-
self._oauth2_token = response['access_token']
37-
self._oauth2_expires_at = datetime.now() + timedelta(seconds=response['expires_in'])
29+
return response['access_token']
3830

3931
def create_split_merchant(self, split_merchant: SplitMerchant):
40-
self._validate_oauth2_token()
41-
request = CreateSplitMerchant(self._oauth2_token, self._environment)
32+
oauth2_token = self._get_oauth2_token()
33+
request = CreateSplitMerchant(oauth2_token, self._environment)
4234
return request.execute(split_merchant)

0 commit comments

Comments
 (0)