1
0
Fork 0
mirror of synced 2024-06-02 18:34:37 +12:00

Oauth2 updates

Change to allow use of client id without secret.
This commit is contained in:
OMEGARAZER 2023-03-08 06:18:05 -05:00
parent 1df6b071a6
commit 192ea38ea1
No known key found for this signature in database
GPG key ID: D89925310D306E35

View file

@ -133,14 +133,18 @@ class RedditConnector(metaclass=ABCMeta):
def create_reddit_instance(self) -> None:
if self.args.authenticate:
logger.debug("Using authenticated Reddit instance")
client_id = self.cfg_parser.get("DEFAULT", "client_id")
client_secret = self.cfg_parser.get("DEFAULT", "client_secret", fallback=None)
if client_secret and client_secret.lower() == "none":
client_secret = None
if not self.cfg_parser.has_option("DEFAULT", "user_token"):
logger.log(9, "Commencing OAuth2 authentication")
scopes = self.cfg_parser.get("DEFAULT", "scopes", fallback="identity, history, read, save")
scopes = OAuth2Authenticator.split_scopes(scopes)
oauth2_authenticator = OAuth2Authenticator(
scopes,
self.cfg_parser.get("DEFAULT", "client_id"),
self.cfg_parser.get("DEFAULT", "client_secret"),
wanted_scopes=scopes,
client_id=client_id,
client_secret=client_secret,
user_agent=self.user_agent,
)
token = oauth2_authenticator.retrieve_new_token()
@ -151,17 +155,20 @@ class RedditConnector(metaclass=ABCMeta):
self.authenticated = True
self.reddit_instance = praw.Reddit(
client_id=self.cfg_parser.get("DEFAULT", "client_id"),
client_secret=self.cfg_parser.get("DEFAULT", "client_secret"),
client_id=client_id,
client_secret=client_secret,
user_agent=self.user_agent,
token_manager=token_manager,
)
else:
logger.debug("Using unauthenticated Reddit instance")
self.authenticated = False
client_secret = self.cfg_parser.get("DEFAULT", "client_secret", fallback=None)
if client_secret and client_secret.lower() == "none":
client_secret = None
self.reddit_instance = praw.Reddit(
client_id=self.cfg_parser.get("DEFAULT", "client_id"),
client_secret=self.cfg_parser.get("DEFAULT", "client_secret"),
client_secret=client_secret,
user_agent=self.user_agent,
)