Merge branch 'pwoolcoc-browser-login-flow'

This commit is contained in:
Matt Behrens 2018-02-17 11:25:27 -05:00
commit acddc8ee8f

View file

@ -73,10 +73,9 @@ def register(api_base_url):
Mastodon.create_app('fediplay', api_base_url=api_base_url, to_file='clientcred.secret') Mastodon.create_app('fediplay', api_base_url=api_base_url, to_file='clientcred.secret')
umask(old_umask) umask(old_umask)
def login(api_base_url, email, password): def login(client, grant_code):
client = Mastodon(client_id='clientcred.secret', api_base_url=api_base_url)
old_umask = umask(0o77) old_umask = umask(0o77)
client.log_in(email, password, to_file='usercred.secret') client.log_in(code=grant_code, to_file='usercred.secret')
umask(old_umask) umask(old_umask)
def stream(api_base_url): def stream(api_base_url):
@ -124,9 +123,11 @@ def main():
if not path.exists('usercred.secret'): if not path.exists('usercred.secret'):
print('==> No usercred.secret; logging in') print('==> No usercred.secret; logging in')
email = input('Email: ') client = Mastodon(client_id='clientcred.secret', api_base_url=api_base_url)
password = getpass('Password: ') print("Open this page in your browser and follow the instructions to get the code you need, then paste it here")
login(api_base_url, email, password) print(client.auth_request_url())
grant_code = input('Code? ')
login(client, grant_code)
stream(api_base_url) stream(api_base_url)