- Publicity: Public Only All
authorize-procs.tcl
Support for oauth authorization API
This file defines the following Objects and Classes: ::xo::oauth::GitHub, ::xo::Authorize, ::xo::oauth::GitHub, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::oauth::GitHub, ::xo::oauth::GitHub, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::oauth::GitHub, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::Authorize, ::xo::oauth::GitHub, ::xo::Authorize, ::xo::Authorize
- Location:
- packages/xooauth/tcl/authorize-procs.tcl
- Author:
- Gustaf Neumann
Procedures in this file
- Class ::xo::Authorize (public)
- Class ::xo::oauth::GitHub (public)
- xo::Authorize instproc login_url (public)
- xo::Authorize instproc logout (public)
- xo::Authorize instproc name (public)
- xo::Authorize instproc perform_login (public)
- xo::oauth::GitHub instproc get_user_data (public)
- xo::oauth::GitHub instproc logout_url (public)
Detailed information
Class ::xo::Authorize (public)
::nx::Class ::xo::Authorize
Base class to support OAuth authorization API
- Testcases:
- No testcase defined.
Class ::xo::oauth::GitHub (public)
::nx::Class ::xo::oauth::GitHub
Tailored OAuth handler for GitHub
- Testcases:
- No testcase defined.
xo::Authorize method login_url (public)
<instance of xo::Authorize> login_url [ -return_url return_url ] \ [ -login login ]
Returns the URL for log-in
- Switches:
- -return_url (optional)
- -login (optional)
- Testcases:
- No testcase defined.
xo::Authorize method logout (public)
<instance of xo::Authorize> logout
Perform logout operation from oauth in the background (i.e. without a redirect) when the logout_url is nonempty.
- Testcases:
- No testcase defined.
xo::Authorize method name (public)
<instance of xo::Authorize> name
- Returns:
- instance name
- Testcases:
- No testcase defined.
xo::Authorize method perform_login (public)
<instance of xo::Authorize> perform_login [ -token token ] \ [ -state state ]
Get the provided claims from the identity provider and perform an OpenACS login, when the user exists. In case the user does not exist, create it optionally (when "create_not_registered_users" is activated. When the user is created, and dotlrn is installed, the new user might be added optionally as a dotlrn user with the role as specified in "create_with_dotlrn_role".
- Switches:
- -token (optional)
- -state (optional)
- Testcases:
- No testcase defined.
xo::oauth::GitHub method get_user_data (public)
<instance of xo::oauth::GitHub> get_user_data [ -token token ] \ [ -required_fields required_fields ]
Get user data based on the temporary code (passed via "-token") provided by GitHub. First, convert the temporary code into an access_token, and use this to get the user data.
- Switches:
- -token (optional)
- -required_fields (optional, defaults to
" {email email} {name name} "
)- Testcases:
- No testcase defined.
xo::oauth::GitHub method logout_url (public)
<instance of xo::oauth::GitHub> logout_url \ [ -return_url return_url ]
Returns the URL for logging out. E.g., GitHub has no logout, so provide simply a redirect URL (maybe, we should logout from the application?)
- Switches:
- -return_url (optional)
- Testcases:
- No testcase defined.