Module FunctionDef arguments args defaults body Expr Str ImportFrom alias identifier Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad Assign NameStore NameLoad TryExcept body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad name NameStore body Expr Call NameLoad Call NameLoad keyword Str keyword Call NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Assign NameStore NameLoad If CompareEq SubscriptLoad AttributeLoad NameLoad attr Index Str Str body Assign NameStore Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr Expr Call NameLoad BinOpAdd BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Str Str NameLoad orelse Expr Call NameLoad BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Str Str Assign NameStore Str TryExcept body Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd BinOpAdd Str Str NameLoad Str NameLoad Str NameLoad Str NameLoad Print Str NameLoad handlers ExceptHandler type NameLoad name NameStore body Expr Call NameLoad Call NameLoad keyword Str keyword Call NameLoad keyword BoolOpOr AttributeLoad NameLoad attr NameLoad Return Call NameLoad decorator_list
N/A index N/A N/A N/A N/A N/A 
    This method has two functionalities:
    1. Asks the user if he permits that a 3rd party app access his data
    2. Receives the user's answer and redirect the user to the 3rd party
       correspondant URI
    In case of error, it redirects to the 'error' controller. 
    Of course, you can modify this behavior. For instance, you may want return
    a JSON or HTTP error instead.
    
    The request MUST be like this:
    http://[your_server]{:port}/[your_application]/auth?
    client_id=[your_client_id]&
    redirect_uri=[your_callback_uri]&
    response_type=code&
    access_type=online
    NOTE: You can pass a "the_scope" parameter, but you need to configure it at the
    OAuth2 object constructor.
     oauth.storage web2pyStorage storage N/A storage N/A storage N/A N/A N/A storage connect N/A oauth N/A OAuth2 storage N/A params N/A dict N/A success False N/A N/A N/A params N/A N/A oauth validate_authorize_params N/A request get_vars N/A N/A N/A Exception N/A ex N/A N/A N/A redirect N/A URL c error vars N/A dict msg ex N/A N/A request post_vars N/A N/A success True N/A N/A N/A N/A request post_vars N/A accept Yes N/A N/A user_id 501faa19a34feb05890005c9 N/A code N/A N/A N/A oauth storage add_code N/A N/A request post_vars N/A client_id user_id N/A N/A oauth config N/A N/A oauth CONFIG_CODE_LIFETIME N/A N/A redirect N/A N/A N/A N/A request get_vars N/A redirect_uri ?code= code N/A N/A N/A redirect N/A N/A N/A request get_vars N/A redirect_uri #error=access_denied N/A url N/A N/A N/A client_id N/A params N/A client_id N/A redirect_uri N/A params N/A redirect_uri N/A the_scope N/A params N/A the_scope N/A response_type N/A params N/A response_type N/A access_type N/A params N/A access_type N/A url N/A N/A N/A N/A N/A N/A N/A N/A ? client_id= client_id &redirect_uri= redirect_uri &response_type= response_type &access_type= access_type N/A url = url N/A N/A N/A Exception N/A ex N/A N/A N/A redirect N/A URL c error vars N/A dict msg N/A N/A ex msg ex N/A N/A locals N/A