Module Expr Str Import alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore IfExp AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad NameLoad keyword Call AttributeLoad NameLoad attr NameLoad keyword NameLoad keyword NameLoad keyword NameLoad Assign NameStore BinOpAdd BinOpAdd AttributeLoad NameLoad attr Str Call NameLoad NameLoad Assign TupleStore NameStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore BoolOpOr NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore BoolOpOr NameLoad Dict Assign NameStore IfExp AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Return Call NameLoad NameLoad NameLoad keyword Call AttributeLoad NameLoad attr Str keyword Call AttributeLoad NameLoad attr Str keyword Call AttributeLoad NameLoad attr NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore ListLoad TupleLoad Str Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Return Dict Str Str Str Str Str Str Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Str Str Str Str Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam defaults vararg kwarg body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list
N/A N/A 
Khan Academy OAuth backend, docs at:
    https://github.com/Khan/khan-api/wiki/Khan-Academy-API-Authentication
 N/A six oauthlib.oauth1 SIGNATURE_HMAC SIGNATURE_TYPE_QUERY requests_oauthlib OAuth1 social.backends.oauth BaseOAuth1 social.p3 urlencode BrowserBasedOAuth1 N/A BaseOAuth1 N/A N/A Browser based mechanism OAuth authentication, fill the needed
    parameters to communicate properly with authentication service.

        REQUEST_TOKEN_URL       Request token URL (opened in web browser)
        ACCESS_TOKEN_URL        Access token URL
     N/A REQUEST_TOKEN_URL N/A OAUTH_TOKEN_PARAMETER_NAME oauth_token N/A REDIRECT_URI_PARAMETER_NAME redirect_uri N/A ACCESS_TOKEN_URL auth_url N/A N/A self N/A N/A N/A Return redirect url N/A N/A N/A self unauthorized_token_request N/A get_unauthorized_token N/A N/A self N/A N/A N/A N/A N/A N/A self strategy request_data N/A unauthorized_token_request N/A N/A self N/A N/A N/A Return request for unauthorized token (first stage) N/A params N/A N/A self request_token_extra_arguments N/A N/A N/A params update N/A N/A self get_scope_argument N/A N/A key secret N/A N/A self get_key_and_secret N/A decoding N/A N/A six PY3 None utf-8 N/A state N/A N/A self get_or_create_state N/A auth N/A OAuth1 key secret callback_uri N/A N/A self get_redirect_uri state decoding decoding signature_method SIGNATURE_HMAC signature_type SIGNATURE_TYPE_QUERY N/A url N/A N/A N/A self REQUEST_TOKEN_URL ? N/A urlencode params N/A N/A url _ _ N/A N/A N/A auth client sign url N/A url N/A oauth_auth N/A N/A self token oauth_verifier N/A None None N/A N/A N/A key secret N/A N/A self get_key_and_secret N/A oauth_verifier N/A oauth_verifier N/A N/A N/A self data get oauth_verifier N/A token N/A token N/A N/A decoding N/A N/A six PY3 None utf-8 N/A state N/A N/A self get_or_create_state N/A N/A OAuth1 key secret resource_owner_key N/A N/A token get oauth_token resource_owner_secret N/A N/A token get oauth_token_secret callback_uri N/A N/A self get_redirect_uri state verifier oauth_verifier signature_method SIGNATURE_HMAC signature_type SIGNATURE_TYPE_QUERY decoding decoding N/A N/A KhanAcademyOAuth1 N/A BrowserBasedOAuth1 N/A N/A 
    Class used for autorising with Khan Academy.

    Flow of Khan Academy is a bit different than most OAuth 1.0 and consinsts
    of the following steps:
    1. Create signed params to attach to the REQUEST_TOKEN_URL
    2. Redirect user to the REQUEST_TOKEN_URL that will respond with
       oauth_secret, oauth_token, oauth_verifier that should be used with
       ACCESS_TOKEN_URL
    3. Go to ACCESS_TOKEN_URL and grab oauth_token_secret.

    Note that we don't use the AUTHORIZATION_URL.

    REQUEST_TOKEN_URL requires the following arguments:
    oauth_consumer_key - Your app's consumer key
    oauth_nonce - Random 64-bit, unsigned number encoded as an ASCII string
        in decimal format. The nonce/timestamp pair should always be unique.
    oauth_version - OAuth version used by your app. Must be "1.0" for now.
    oauth_signature - String generated using the referenced signature method.
    oauth_signature_method - Signature algorithm (currently only support
        "HMAC-SHA1")
    oauth_timestamp - Integer representing the time the request is sent.
        The timestamp should be expressed in number of seconds
        after January 1, 1970 00:00:00 GMT.
    oauth_callback (optional) - URL to redirect to after request token is
        received and authorized by the user's chosen identity provider.
     N/A name khanacademy-oauth1 N/A ID_KEY user_id N/A REQUEST_TOKEN_URL http://www.khanacademy.org/api/auth/request_token N/A ACCESS_TOKEN_URL https://www.khanacademy.org/api/auth/access_token N/A REDIRECT_URI_PARAMETER_NAME oauth_callback N/A USER_DATA_URL https://www.khanacademy.org/api/v1/user N/A EXTRA_DATA N/A N/A user_id user_id get_user_details N/A N/A self response N/A N/A N/A Return user details from Khan Academy account N/A N/A username email fullname first_name last_name user_id N/A N/A response get key_email N/A N/A response get key_email N/A N/A response get user_id N/A user_data N/A N/A self access_token N/A args kwargs N/A N/A Loads user data from service N/A auth N/A N/A self oauth_auth access_token N/A N/A url _ _ N/A N/A N/A auth client sign N/A self USER_DATA_URL N/A N/A N/A self get_json url N/A N/A