Files
Henning Jacobs 76a498bacc pre-commit linting (#259)
* pre-commit linting

* fix pydocs
2020-04-25 21:01:21 +02:00

23 lines
804 B
Python

import os
from flask_dance.consumer import OAuth2ConsumerBlueprint
CREDENTIALS_DIR = os.getenv("CREDENTIALS_DIR", "")
class OAuth2ConsumerBlueprintWithClientRefresh(OAuth2ConsumerBlueprint):
"""Same as flask_dance.consumer.OAuth2ConsumerBlueprint, but loads client credentials from file."""
def refresh_credentials(self):
with open(os.path.join(CREDENTIALS_DIR, "authcode-client-id")) as fd:
# note that we need to set two attributes because of how OAuth2ConsumerBlueprint works :-/
self._client_id = self.client_id = fd.read().strip()
with open(os.path.join(CREDENTIALS_DIR, "authcode-client-secret")) as fd:
self.client_secret = fd.read().strip()
def login(self):
self.refresh_credentials()
return super().login()