The ciao Reference Manual
This is the ciao Reference Manual, version 0.0.1,
generated automatically by Declt version 4.0 beta 2 "William Riker"
on Sun Dec 15 04:36:24 2024 GMT+0.
2 Systems
The main system appears first, followed by any subsystem dependency.
2.1 ciao
OAuth 2.0 Client for Common Lisp
- Author
Jin-Ho King <jinho_king@tasseo.io>
- License
LGPLv3
- Version
0.0.1
- Dependencies
hunchentoot
(system).
dexador
(system).
cl-json
(system).
trivial-open-browser
(system).
- Source
ciao.asd
.
- Child Component
src
(module).
3 Modules
Modules are listed depth-first from the system components tree.
4 Files
Files are sorted by type and then listed depth-first from the systems
components trees.
4.1 Lisp
4.1.1 ciao/ciao.asd
- Source
ciao.asd
.
- Parent Component
ciao
(system).
- ASDF Systems
ciao
.
4.1.2 ciao/src/ciao.lisp
- Source
ciao.asd
.
- Parent Component
src
(module).
- Packages
ciao
.
- Public Interface
-
- Internals
-
5 Packages
Packages are listed by definition order.
5.1 ciao
- Source
ciao.lisp
.
- Use List
common-lisp
.
- Public Interface
-
- Internals
-
6 Definitions
Definitions are sorted by export status, category, package, and then by
lexicographic order.
6.1 Public Interface
6.1.1 Special variables
- Special Variable: *clio-auth-server* ¶
-
An instance of an oauth2-auth-server object with information
relevant to access Clio services
- Package
ciao
.
- Source
ciao.lisp
.
- Special Variable: *google-auth-server* ¶
-
An instance of an oauth2-auth-server object with information
relevant to access Google services.
- Package
ciao
.
- Source
ciao.lisp
.
- Special Variable: *oob-uri* ¶
-
From Google: "This value indicates that Google’s authorization server
should return the authorization code in the browser’s title bar. This
option is useful if the client cannot listen on an HTTP port without
significant modifications to the client."
- Package
ciao
.
- Source
ciao.lisp
.
6.1.2 Ordinary functions
- Function: get-access-token (oauth &key re-acquire? who) ¶
-
Returns the access-token for an oauth2 object
- Package
ciao
.
- Source
ciao.lisp
.
- Function: get-auth-request-url (auth-server &key client scopes redirect-uri state extra-parameters) ¶
-
Returns the QURI:URI to obtain the authentication code.
- Package
ciao
.
- Source
ciao.lisp
.
-
Returns the authorization headers
- Package
ciao
.
- Source
ciao.lisp
.
- Function: oauth2/auth-code (auth-server client auth-code &key redirect-uri) ¶
-
Returns an oauth2 object using the given auth-code to request an access
token. The redirect-uri must match the auth-code redirect-uri.
- Package
ciao
.
- Source
ciao.lisp
.
- Function: oauth2/refresh-token (auth-server client refresh-token) ¶
-
Returns an oauth2 object using the given refresh-token to acquire a new
access token.
- Package
ciao
.
- Source
ciao.lisp
.
- Function: oauth2/request-auth-code/browser (auth-server client &key scopes port) ¶
-
Given an auth-server definition (e.g., *google-auth-server*),
an auth-client object, and a list of strings defining the scope,
initiates the authentication process.
- Package
ciao
.
- Source
ciao.lisp
.
6.1.3 Generic functions
- Generic Reader: get-refresh-token (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-refresh-token ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
refresh-token
.
6.1.4 Classes
- Class: oauth2 ¶
-
- Package
ciao
.
- Source
ciao.lisp
.
- Direct methods
-
- Direct slots
- Slot: client ¶
-
- Initargs
:client
- Readers
get-client
.
- Writers
This slot is read-only.
- Slot: auth-server ¶
-
- Initargs
:auth-server
- Readers
get-auth-server
.
- Writers
This slot is read-only.
- Slot: scopes ¶
-
- Initargs
:scopes
- Readers
get-scopes
.
- Writers
This slot is read-only.
- Slot: token-type ¶
-
- Initargs
:token-type
- Readers
get-token-type
.
- Writers
This slot is read-only.
- Slot: access-token ¶
-
- Initargs
:scopes
- Slot: refresh-token ¶
-
- Initargs
:refresh-token
- Readers
get-refresh-token
.
- Writers
This slot is read-only.
- Slot: expiration ¶
-
- Initform
(quote ciao::inf+)
- Initargs
ciao::expiration
- Readers
get-expiration
.
- Writers
This slot is read-only.
- Class: oauth2-auth-server ¶
-
- Package
ciao
.
- Source
ciao.lisp
.
- Direct methods
-
- Direct slots
- Slot: auth-url ¶
-
- Initargs
:auth-url
- Readers
get-auth-url
.
- Writers
This slot is read-only.
- Slot: token-url ¶
-
- Initargs
:token-url
- Readers
get-token-url
.
- Writers
This slot is read-only.
- Slot: tokeninfo-url ¶
-
- Initargs
:tokeninfo-url
- Readers
get-tokeninfo-url
.
- Writers
This slot is read-only.
- Slot: revoke-url ¶
-
- Initargs
:revoke-url
- Readers
revoke-url
.
- Writers
This slot is read-only.
- Class: oauth2-client ¶
-
- Package
ciao
.
- Source
ciao.lisp
.
- Direct methods
-
- Direct slots
- Slot: id ¶
-
- Initargs
:id
- Readers
get-id
.
- Writers
This slot is read-only.
- Slot: secret ¶
-
- Initargs
:secret
- Readers
get-secret
.
- Writers
This slot is read-only.
6.2 Internals
6.2.1 Ordinary functions
- Function: acquire-token/auth-code! (oauth auth-code &key redirect-uri who) ¶
-
Updates the oauth2 object with a token using the auth-code
- Package
ciao
.
- Source
ciao.lisp
.
- Function: acquire-token/auth-code/json (oauth &key auth-code redirect-uri) ¶
-
Using the given auth-code, pull the result from the oauth2-server
- Package
ciao
.
- Source
ciao.lisp
.
- Function: body/acquire-token (oauth &key auth-code redirect-uri) ¶
-
helper function to generate the acquire-token request
- Package
ciao
.
- Source
ciao.lisp
.
- Function: body/refresh-token (oauth) ¶
-
helper function to generate the refresh-token request
- Package
ciao
.
- Source
ciao.lisp
.
-
- Package
ciao
.
- Source
ciao.lisp
.
- Function: get-client-id (oauth) ¶
-
Returns the client-id for an oauth2 object
- Package
ciao
.
- Source
ciao.lisp
.
- Function: re-acquire-token! (oauth &key who) ¶
-
Refreshes the token for the oauth2 object
- Package
ciao
.
- Source
ciao.lisp
.
- Function: refresh-token! (oauth &key who) ¶
-
Updates the oauth2 object with a refreshed token
- Package
ciao
.
- Source
ciao.lisp
.
- Function: refresh-token/json (oauth) ¶
-
Calls the server for an updated refresh-token info
- Package
ciao
.
- Source
ciao.lisp
.
- Function: reset-from-json! (oauth who now json-string) ¶
-
Tool to update the oauth2 object
- Package
ciao
.
- Source
ciao.lisp
.
- Function: servlet (&key port) ¶
-
Start a blocking servlet that waits for code and state.
- Package
ciao
.
- Source
ciao.lisp
.
- Function: string-split (substr mainstr) ¶
-
Returns a list of strings that constitute mainstr split
wherever substr occurs
- Package
ciao
.
- Source
ciao.lisp
.
6.2.2 Generic functions
- Generic Reader: get-auth-server (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-auth-server ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
auth-server
.
- Generic Reader: get-auth-url (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-auth-url ((oauth2-auth-server
oauth2-auth-server
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
auth-url
.
- Generic Reader: get-client (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-client ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
client
.
- Generic Reader: get-expiration (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-expiration ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
expiration
.
- Generic Reader: get-id (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-id ((oauth2-client
oauth2-client
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
id
.
- Generic Reader: get-scopes (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-scopes ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
scopes
.
- Generic Reader: get-secret (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-secret ((oauth2-client
oauth2-client
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
secret
.
- Generic Reader: get-token-type (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-token-type ((oauth2
oauth2
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
token-type
.
- Generic Reader: get-token-url (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-token-url ((oauth2-auth-server
oauth2-auth-server
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
token-url
.
- Generic Reader: get-tokeninfo-url (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: get-tokeninfo-url ((oauth2-auth-server
oauth2-auth-server
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
tokeninfo-url
.
- Generic Reader: revoke-url (object) ¶
-
- Package
ciao
.
- Methods
- Reader Method: revoke-url ((oauth2-auth-server
oauth2-auth-server
)) ¶
-
automatically generated reader method
- Source
ciao.lisp
.
- Target Slot
revoke-url
.
Appendix A Indexes
A.2 Functions
| |
|
A | | |
| acquire-token/auth-code! : | | Private ordinary functions |
| acquire-token/auth-code/json : | | Private ordinary functions |
|
B | | |
| body/acquire-token : | | Private ordinary functions |
| body/refresh-token : | | Private ordinary functions |
|
F | | |
| form-headers : | | Private ordinary functions |
| Function, acquire-token/auth-code! : | | Private ordinary functions |
| Function, acquire-token/auth-code/json : | | Private ordinary functions |
| Function, body/acquire-token : | | Private ordinary functions |
| Function, body/refresh-token : | | Private ordinary functions |
| Function, form-headers : | | Private ordinary functions |
| Function, get-access-token : | | Public ordinary functions |
| Function, get-auth-request-url : | | Public ordinary functions |
| Function, get-client-id : | | Private ordinary functions |
| Function, headers : | | Public ordinary functions |
| Function, oauth2/auth-code : | | Public ordinary functions |
| Function, oauth2/refresh-token : | | Public ordinary functions |
| Function, oauth2/request-auth-code/browser : | | Public ordinary functions |
| Function, re-acquire-token! : | | Private ordinary functions |
| Function, refresh-token! : | | Private ordinary functions |
| Function, refresh-token/json : | | Private ordinary functions |
| Function, reset-from-json! : | | Private ordinary functions |
| Function, servlet : | | Private ordinary functions |
| Function, string-split : | | Private ordinary functions |
|
G | | |
| Generic Function, get-auth-server : | | Private generic functions |
| Generic Function, get-auth-url : | | Private generic functions |
| Generic Function, get-client : | | Private generic functions |
| Generic Function, get-expiration : | | Private generic functions |
| Generic Function, get-id : | | Private generic functions |
| Generic Function, get-refresh-token : | | Public generic functions |
| Generic Function, get-scopes : | | Private generic functions |
| Generic Function, get-secret : | | Private generic functions |
| Generic Function, get-token-type : | | Private generic functions |
| Generic Function, get-token-url : | | Private generic functions |
| Generic Function, get-tokeninfo-url : | | Private generic functions |
| Generic Function, revoke-url : | | Private generic functions |
| get-access-token : | | Public ordinary functions |
| get-auth-request-url : | | Public ordinary functions |
| get-auth-server : | | Private generic functions |
| get-auth-server : | | Private generic functions |
| get-auth-url : | | Private generic functions |
| get-auth-url : | | Private generic functions |
| get-client : | | Private generic functions |
| get-client : | | Private generic functions |
| get-client-id : | | Private ordinary functions |
| get-expiration : | | Private generic functions |
| get-expiration : | | Private generic functions |
| get-id : | | Private generic functions |
| get-id : | | Private generic functions |
| get-refresh-token : | | Public generic functions |
| get-refresh-token : | | Public generic functions |
| get-scopes : | | Private generic functions |
| get-scopes : | | Private generic functions |
| get-secret : | | Private generic functions |
| get-secret : | | Private generic functions |
| get-token-type : | | Private generic functions |
| get-token-type : | | Private generic functions |
| get-token-url : | | Private generic functions |
| get-token-url : | | Private generic functions |
| get-tokeninfo-url : | | Private generic functions |
| get-tokeninfo-url : | | Private generic functions |
|
H | | |
| headers : | | Public ordinary functions |
|
M | | |
| Method, get-auth-server : | | Private generic functions |
| Method, get-auth-url : | | Private generic functions |
| Method, get-client : | | Private generic functions |
| Method, get-expiration : | | Private generic functions |
| Method, get-id : | | Private generic functions |
| Method, get-refresh-token : | | Public generic functions |
| Method, get-scopes : | | Private generic functions |
| Method, get-secret : | | Private generic functions |
| Method, get-token-type : | | Private generic functions |
| Method, get-token-url : | | Private generic functions |
| Method, get-tokeninfo-url : | | Private generic functions |
| Method, revoke-url : | | Private generic functions |
|
O | | |
| oauth2/auth-code : | | Public ordinary functions |
| oauth2/refresh-token : | | Public ordinary functions |
| oauth2/request-auth-code/browser : | | Public ordinary functions |
|
R | | |
| re-acquire-token! : | | Private ordinary functions |
| refresh-token! : | | Private ordinary functions |
| refresh-token/json : | | Private ordinary functions |
| reset-from-json! : | | Private ordinary functions |
| revoke-url : | | Private generic functions |
| revoke-url : | | Private generic functions |
|
S | | |
| servlet : | | Private ordinary functions |
| string-split : | | Private ordinary functions |
|
A.3 Variables
| |
|
* | | |
| *clio-auth-server* : | | Public special variables |
| *google-auth-server* : | | Public special variables |
| *oob-uri* : | | Public special variables |
|
A | | |
| access-token : | | Public classes |
| auth-server : | | Public classes |
| auth-url : | | Public classes |
|
C | | |
| client : | | Public classes |
|
E | | |
| expiration : | | Public classes |
|
I | | |
| id : | | Public classes |
|
R | | |
| refresh-token : | | Public classes |
| revoke-url : | | Public classes |
|
S | | |
| scopes : | | Public classes |
| secret : | | Public classes |
| Slot, access-token : | | Public classes |
| Slot, auth-server : | | Public classes |
| Slot, auth-url : | | Public classes |
| Slot, client : | | Public classes |
| Slot, expiration : | | Public classes |
| Slot, id : | | Public classes |
| Slot, refresh-token : | | Public classes |
| Slot, revoke-url : | | Public classes |
| Slot, scopes : | | Public classes |
| Slot, secret : | | Public classes |
| Slot, token-type : | | Public classes |
| Slot, token-url : | | Public classes |
| Slot, tokeninfo-url : | | Public classes |
| Special Variable, *clio-auth-server* : | | Public special variables |
| Special Variable, *google-auth-server* : | | Public special variables |
| Special Variable, *oob-uri* : | | Public special variables |
|
T | | |
| token-type : | | Public classes |
| token-url : | | Public classes |
| tokeninfo-url : | | Public classes |
|