~danielholm/+junk/lastfm-online-account

« back to all changes in this revision

Viewing changes to authentication.py

  • Committer: DanielHolm
  • Date: 2014-01-31 20:09:39 UTC
  • Revision ID: d.holmen@gmail.com-20140131200939-5bpr8vw3btzw8akw
Initial code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from gi.repository import Accounts, Signon
 
2
 
 
3
# ...get an AccountService...
 
4
 
 
5
# Get the authentication informations
 
6
auth_data = account_service.get_auth_data()
 
7
identity = auth_data.get_credentials_id()
 
8
session_data = auth_data.get_parameters()
 
9
 
 
10
# Create an authentication session
 
11
auth_session = Signon.AuthSession.new(identity, auth_data.get_method())
 
12
 
 
13
# Define the callback function
 
14
def login_cb(self, session, reply, error, user_data):
 
15
    if error:
 
16
        print("Got authentication error:", error.message)
 
17
        return
 
18
    print("login finished; reply: %s", (reply,))
 
19
 
 
20
    # The contents of "reply" depend on the method/mechanism used.
 
21
    # Here we suppose we were using OAuth 2.0
 
22
    if "AccessToken" in reply:
 
23
        access_token = reply["AccessToken"]
 
24
 
 
25
# Start the authentication. Note that you must have a GLib main loop
 
26
# running in order for the callback to be called.
 
27
auth_session.process(session_data,
 
28
            auth_data.get_mechanism(),
 
29
            login_cb, None)
 
 
b'\\ No newline at end of file'