The cl-oauth Reference Manual

This is the cl-oauth Reference Manual, version 3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 17:13:25 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-oauth

Common Lisp OAuth implementation

Maintainer

Leslie P. Polzer <>

License

LLGPL

Version

3

Dependencies
  • ironclad (system).
  • cl-base64 (system).
  • babel (system).
  • closer-mop (system).
  • alexandria (system).
  • anaphora (system).
  • f-underscore (system).
  • split-sequence (system).
  • trivial-garbage (system).
  • drakma (system).
  • puri (system).
  • hunchentoot (system).
Source

cl-oauth.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-oauth/src

Source

cl-oauth.asd.

Parent Component

cl-oauth (system).

Child Components

3.2 cl-oauth/src/util

Dependency

package.lisp (file).

Source

cl-oauth.asd.

Parent Component

src (module).

Child Components

3.3 cl-oauth/src/core

Dependencies
Source

cl-oauth.asd.

Parent Component

src (module).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl-oauth/cl-oauth.asd

Source

cl-oauth.asd.

Parent Component

cl-oauth (system).

ASDF Systems

cl-oauth.

Packages

cl-oauth-asd.


4.1.2 cl-oauth/src/package.lisp

Source

cl-oauth.asd.

Parent Component

src (module).

Packages

cl-oauth.


4.1.3 cl-oauth/src/util/misc.lisp

Source

cl-oauth.asd.

Parent Component

util (module).

Internals

4.1.4 cl-oauth/src/util/query-string.lisp

Dependency

misc.lisp (file).

Source

cl-oauth.asd.

Parent Component

util (module).

Internals

4.1.5 cl-oauth/src/util/uri.lisp

Dependency

query-string.lisp (file).

Source

cl-oauth.asd.

Parent Component

util (module).

Public Interface

url-encode (function).

Internals

4.1.6 cl-oauth/src/core/crypto.lisp

Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface

hmac-sha1 (function).

Internals

string-or-octets->octets (function).


4.1.8 cl-oauth/src/core/error-handling.lisp

Dependency

request-adapter.lisp (file).

Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.9 cl-oauth/src/core/parameters.lisp

Dependency

request-adapter.lisp (file).

Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.10 cl-oauth/src/core/signature.lisp

Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface

4.1.11 cl-oauth/src/core/tokens.lisp

Dependency

signature.lisp (file).

Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.12 cl-oauth/src/core/consumer.lisp

Dependencies
Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.13 cl-oauth/src/core/service-provider.lisp

Dependencies
Source

cl-oauth.asd.

Parent Component

core (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 cl-oauth

Source

package.lisp.

Nickname

oauth

Use List
  • anaphora.
  • common-lisp.
  • f-underscore.
Public Interface
Internals

5.2 cl-oauth-asd

Source

cl-oauth.asd.

Use List
  • asdf/interface.
  • common-lisp.

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: *protocol-version*
Package

cl-oauth.

Source

service-provider.lisp.

Special Variable: *request*

User-supplied request override. Only if you know what you’re doing.

Package

cl-oauth.

Source

request-adapter.lisp.

Special Variable: *request-adapter*

Set this variable to an instance of REQUEST-ADAPTER tailored to your web server.

Package

cl-oauth.

Source

request-adapter.lisp.


6.1.2 Macros

Macro: protocol-assert (&body body)
Package

cl-oauth.

Source

error-handling.lisp.


6.1.3 Ordinary functions

Function: abort-request (result)

Return the string RESULT immediately from the request handler.

Package

cl-oauth.

Source

request-adapter.lisp.

Function: access-protected-resource (uri access-token &rest kwargs &key consumer-token on-refresh timestamp user-parameters additional-headers version drakma-args auth-location request-method signature-method include-user-parameters-in-signature-p)

Access the protected resource at URI using ACCESS-TOKEN.

If the token contains OAuth Session information it will be checked for validity before the request is made. Should the server notify us that it has prematurely expired the token will be refresh as well and the request sent again using the new token. ON-REFRESH will be called whenever the access token is renewed.

Package

cl-oauth.

Source

consumer.lisp.

Function: access-token-expired-p (access-token)
Package

cl-oauth.

Source

tokens.lisp.

Function: auth-parameters (&optional request)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: authorize-request-token (request-token)

Authorize a request token explicitly. Returns the authorized token.

Package

cl-oauth.

Source

consumer.lisp.

Function: authorize-request-token-from-request (request-token-lookup-fn)

Authorize a request token. Must be running in request context.

REQUEST-TOKEN-LOOKUP-FN will be called with the request token key and must return a valid unauthorized request token or NIL.

Returns the authorized token or NIL if the token couldn’t be found.

Package

cl-oauth.

Source

consumer.lisp.

Function: check-nonce-and-timestamp (consumer-token)
Package

cl-oauth.

Source

service-provider.lisp.

Function: check-signature ()
Package

cl-oauth.

Source

service-provider.lisp.

Function: check-verification-code ()
Package

cl-oauth.

Source

service-provider.lisp.

Function: check-version ()
Package

cl-oauth.

Source

service-provider.lisp.

Function: default-error-handler (condition)

Default error handler for conditions of type HTTP-ERROR.

Package

cl-oauth.

Source

error-handling.lisp.

Function: encode-signature (octets url-encode-p)

9.2.1

Package

cl-oauth.

Source

signature.lisp.

Function: finalize-callback-uri (request-token)

Prepares the callback URI of REQUEST-TOKEN for redirection.

Package

cl-oauth.

Source

service-provider.lisp.

Function: get-parameters (&optional request)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: get-supplied-request-token (&key check-verification-code-p)

Utility function that extracts the Consumer-supplied request token from a list of normalized parameters. Guards against non-existing and unknown tokens. Returns the request token on success.

Package

cl-oauth.

Source

service-provider.lisp.

Function: hmac-key (consumer-secret &optional token-secret)

9.2

Package

cl-oauth.

Source

signature.lisp.

Function: hmac-sha1 (s key)
Package

cl-oauth.

Source

crypto.lisp.

Function: init-default-request-adapter ()
Package

cl-oauth.

Source

request-adapter.lisp.

Function: make-access-token (&rest args)
Package

cl-oauth.

Source

tokens.lisp.

Function: make-authorization-uri (uri request-token &key callback-uri user-parameters)

Return the service provider’s authorization URI. Use the resulting PURI for a redirect. [6.2.1] in 1.0.

Package

cl-oauth.

Source

consumer.lisp.

Function: make-consumer-token (&rest args)
Package

cl-oauth.

Source

tokens.lisp.

Function: make-hunchentoot-request-adapter ()
Package

cl-oauth.

Source

request-adapter.lisp.

Function: make-request-adapter (&key request-object-fn request-method-fn request-uri-fn abort-request-fn auth-parameters-fn post-parameters-fn get-parameters-fn)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: make-request-token (&rest args)
Package

cl-oauth.

Source

tokens.lisp.

Function: make-response (alist)

[5.3]

Package

cl-oauth.

Source

service-provider.lisp.

Function: normalized-parameters (&key remove-duplicates-p)

Collect request parameters and remove those excluded by the standard. See 9.1.1. Note: REMOVE-DUPLICATES-P has no effect right now.

Package

cl-oauth.

Source

parameters.lisp.

Function: obtain-access-token (uri request-or-access-token &key consumer-token request-method auth-location version timestamp xauth-username xauth-password drakma-args signature-method)

Additional parameters will be stored in the USER-DATA slot of the token. POST is recommended as request method. [6.3.1]

Package

cl-oauth.

Source

consumer.lisp.

Function: obtain-request-token (uri consumer-token &key version user-parameters drakma-args timestamp auth-location request-method callback-uri additional-headers signature-method include-user-parameters-in-signature-p)

Additional parameters will be stored in the USER-DATA slot of the token.

Package

cl-oauth.

Source

consumer.lisp.

Function: parameter (name &key test)

Note: OAuth parameters are case-sensitive per section 5. The case of user-supplied parameters is not restricted.

Package

cl-oauth.

Source

parameters.lisp.

Function: post-parameters (&optional request)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: raise-error (type &optional reason-phrase-fmt &rest reason-phrase-args)
Package

cl-oauth.

Source

error-handling.lisp.

Function: request ()
Package

cl-oauth.

Source

request-adapter.lisp.

Function: request-method (&optional request)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: request-token-response (request-token &rest additional-parameters)

Respond to a valid request token request. [6.1.2]

Package

cl-oauth.

Source

service-provider.lisp.

Function: request-uri (&optional request)

Return the request uri including protocol, host, port and path. Other parts like the query string are optional and will be ignored. The result type is (or string puri:uri).

Package

cl-oauth.

Source

request-adapter.lisp.

Function: signature-base-string (&key uri request-method parameters)
Package

cl-oauth.

Source

signature.lisp.

Function: sort-parameters (parameters)

Sort PARAMETERS according to the OAuth spec. This is a destructive operation.

Package

cl-oauth.

Source

parameters.lisp.

Function: url-encode (input &optional external-format)

URL-encodes INPUT according to the percent encoding rules of RFC5849 (section 3.6). If a string is passed as INPUT, it is encoded using the external format EXTERNAL-FORMAT. If a vector of bytes is passed, the values are used verbatim.

Package

cl-oauth.

Source

uri.lisp.

Function: validate-access-token ()
Package

cl-oauth.

Source

service-provider.lisp.

Function: validate-access-token-request (&key access-token-ctor)
Package

cl-oauth.

Source

service-provider.lisp.

Function: validate-request-token-request (&key request-token-ctor allow-oob-callback-p)

Check whether REQUEST is a valid request token request.

Returns the supplied Consumer callback (a PURI:URI) or NIL if the callback is supposed to be transferred oob. [6.1.1]

Package

cl-oauth.

Source

service-provider.lisp.


6.1.4 Generic functions

Generic Reader: access-token-authorization-expires (object)
Package

cl-oauth.

Methods
Reader Method: access-token-authorization-expires ((access-token access-token))

Universal time when this token’s session expires.

Source

tokens.lisp.

Target Slot

authorization-expires.

Generic Reader: access-token-expires (object)
Package

cl-oauth.

Methods
Reader Method: access-token-expires ((access-token access-token))

Universal time when this token expires.

Source

tokens.lisp.

Target Slot

expires.

Generic Reader: access-token-session-handle (object)
Package

cl-oauth.

Methods
Reader Method: access-token-session-handle ((access-token access-token))

automatically generated reader method

Source

tokens.lisp.

Target Slot

session-handle.

Generic Function: register-token (token)
Package

cl-oauth.

Methods
Method: register-token ((token access-token))
Source

service-provider.lisp.

Method: register-token ((token request-token))
Source

service-provider.lisp.

Method: register-token ((token consumer-token))
Source

service-provider.lisp.

Generic Reader: request-token-authorized-p (object)
Package

cl-oauth.

Methods
Reader Method: request-token-authorized-p ((request-token request-token))

automatically generated reader method

Source

tokens.lisp.

Target Slot

authorized-p.

Generic Writer: (setf request-token-authorized-p) (object)
Package

cl-oauth.

Methods
Writer Method: (setf request-token-authorized-p) ((request-token request-token))

automatically generated writer method

Source

tokens.lisp.

Target Slot

authorized-p.

Generic Reader: request-token-callback-uri (object)
Package

cl-oauth.

Methods
Reader Method: request-token-callback-uri ((request-token request-token))

Callback URI for this request token. NIL means oob.

Source

tokens.lisp.

Target Slot

callback-uri.

Generic Reader: request-token-verification-code (object)
Generic Writer: (setf request-token-verification-code) (object)
Package

cl-oauth.

Methods
Reader Method: request-token-verification-code ((request-token request-token))
Writer Method: (setf request-token-verification-code) ((request-token request-token))

Might be NIL for OAuth 1.0

Source

tokens.lisp.

Target Slot

verification-code.

Generic Reader: token-consumer (object)
Generic Writer: (setf token-consumer) (object)
Package

cl-oauth.

Methods
Reader Method: token-consumer ((consumer-ref-mixin consumer-ref-mixin))
Writer Method: (setf token-consumer) ((consumer-ref-mixin consumer-ref-mixin))

The Consumer that originally requested this token.

Source

tokens.lisp.

Target Slot

consumer.

Generic Reader: token-key (object)
Package

cl-oauth.

Methods
Reader Method: token-key ((token token))

automatically generated reader method

Source

tokens.lisp.

Target Slot

key.

Generic Reader: token-secret (object)
Package

cl-oauth.

Methods
Reader Method: token-secret ((token token))

automatically generated reader method

Source

tokens.lisp.

Target Slot

secret.

Generic Reader: token-user-data (object)
Generic Writer: (setf token-user-data) (object)
Package

cl-oauth.

Methods
Reader Method: token-user-data ((token token))
Writer Method: (setf token-user-data) ((token token))

Application-specific data associated with this token; an alist.

Source

tokens.lisp.

Target Slot

user-data.

Generic Function: unregister-token (token)
Package

cl-oauth.

Methods
Method: unregister-token ((token access-token))
Source

service-provider.lisp.

Method: unregister-token ((token request-token))
Source

service-provider.lisp.

Method: unregister-token ((token consumer-token))
Source

service-provider.lisp.


6.1.5 Standalone methods

Method: print-object ((obj token) stream)

Faking STRUCT-like output. It would probably be better to use
the pretty printer; the code for sb-kernel::%default-structure-pretty-print will be a useful template.

Source

tokens.lisp.


6.1.6 Conditions

Condition: bad-request
Package

cl-oauth.

Source

error-handling.lisp.

Direct superclasses

http-error.

Direct Default Initargs
InitargValue
:reason-phrasebad request
:status-code400
Condition: http-error
Package

cl-oauth.

Source

error-handling.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: status-code
Initargs

:status-code

Readers

http-error-status-code.

Writers

This slot is read-only.

Slot: reason-phrase
Initargs

:reason-phrase

Readers

http-error-reason-phrase.

Writers

This slot is read-only.

Condition: unauthorized
Package

cl-oauth.

Source

error-handling.lisp.

Direct superclasses

http-error.

Direct Default Initargs
InitargValue
:reason-phraseunauthorized
:status-code401

6.1.7 Structures

Structure: request-adapter

An adapter for server-specific parts of OAuth.
The return value of REQUEST-OBJECT-FN must be comparable with EQ.

Package

cl-oauth.

Source

request-adapter.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: request-object-fn
Type

(or function symbol null)

Readers

request-adapter-request-object-fn.

Writers

(setf request-adapter-request-object-fn).

Slot: request-method-fn
Type

(or function symbol null)

Readers

request-adapter-request-method-fn.

Writers

(setf request-adapter-request-method-fn).

Slot: request-uri-fn
Type

(or function symbol null)

Readers

request-adapter-request-uri-fn.

Writers

(setf request-adapter-request-uri-fn).

Slot: abort-request-fn
Type

(or function symbol null)

Readers

request-adapter-abort-request-fn.

Writers

(setf request-adapter-abort-request-fn).

Slot: auth-parameters-fn
Type

(or function symbol null)

Readers

request-adapter-auth-parameters-fn.

Writers

(setf request-adapter-auth-parameters-fn).

Slot: post-parameters-fn
Type

(or function symbol null)

Readers

request-adapter-post-parameters-fn.

Writers

(setf request-adapter-post-parameters-fn).

Slot: get-parameters-fn
Type

(or function symbol null)

Readers

request-adapter-get-parameters-fn.

Writers

(setf request-adapter-get-parameters-fn).


6.1.8 Classes

Class: access-token
Package

cl-oauth.

Source

tokens.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: session-handle
Type

(or string null)

Initargs

:session-handle

Readers

access-token-session-handle.

Writers

This slot is read-only.

Slot: expires

Universal time when this token expires.

Type

(or integer null)

Initargs

:expires

Readers

access-token-expires.

Writers

This slot is read-only.

Slot: authorization-expires

Universal time when this token’s session expires.

Type

(or integer null)

Initargs

:authorization-expires

Readers

access-token-authorization-expires.

Writers

This slot is read-only.

Slot: origin-uri

URI this access token has been obtained from. Needed for refresh.

Type

(or puri:uri string null)

Initargs

:origin-uri

Readers

access-token-origin-uri.

Writers

This slot is read-only.

Class: consumer-token
Package

cl-oauth.

Source

tokens.lisp.

Direct superclasses

token.

Direct methods
Direct slots
Slot: last-timestamp
Type

integer

Initform

0

Readers

consumer-token-last-timestamp.

Writers

(setf consumer-token-last-timestamp).

Class: request-token
Package

cl-oauth.

Source

tokens.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: callback-uri

Callback URI for this request token. NIL means oob.

Type

(or puri:uri null)

Initargs

:callback-uri

Readers

request-token-callback-uri.

Writers

This slot is read-only.

Slot: verification-code

Might be NIL for OAuth 1.0

Type

(or string null)

Initform

(cl-oauth::random-verification-code)

Initargs

:verification-code

Readers

request-token-verification-code.

Writers

(setf request-token-verification-code).

Slot: authorized-p
Type

boolean

Readers

request-token-authorized-p.

Writers

(setf request-token-authorized-p).

Class: token
Package

cl-oauth.

Source

tokens.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: key
Type

string

Initform

(cl-oauth::random-key)

Initargs

:key

Readers

token-key.

Writers

This slot is read-only.

Slot: secret
Type

string

Initform

(cl-oauth::random-secret)

Initargs

:secret

Readers

token-secret.

Writers

This slot is read-only.

Slot: user-data

Application-specific data associated with this token; an alist.

Type

list

Initargs

:user-data

Readers

token-user-data.

Writers

(setf token-user-data).


6.2 Internals


6.2.1 Constants

Constant: +unix-to-universal-time+
Package

cl-oauth.

Source

misc.lisp.


6.2.2 Special variables

Special Variable: *issued-access-tokens*
Package

cl-oauth.

Source

service-provider.lisp.

Special Variable: *issued-request-tokens*
Package

cl-oauth.

Source

service-provider.lisp.

Special Variable: *parameters-cache*

Per-request cache for parameters in OAuth requests.

Package

cl-oauth.

Source

parameters.lisp.

Special Variable: *registered-consumers*
Package

cl-oauth.

Source

service-provider.lisp.

Special Variable: *signature-cache*

Per-request cache for signatures in OAuth requests.

Package

cl-oauth.

Source

parameters.lisp.

Special Variable: +utf-8+
Package

cl-oauth.

Source

uri.lisp.


6.2.3 Macros

Macro: ignore-oauth-errors (&body body)
Package

cl-oauth.

Source

service-provider.lisp.

Macro: upgrade-vector (vector new-type &key converter)

Returns a vector with the same length and the same elements as VECTOR (a variable holding a vector) but having element type NEW-TYPE. If CONVERTER is not NIL, it should designate a function which will be applied to each element of VECTOR before the result is stored in the new vector. The resulting vector will have a fill pointer set to its end.

The macro also uses SETQ to store the new vector in VECTOR.

Package

cl-oauth.

Source

uri.lisp.


6.2.4 Ordinary functions

Function: access-token-response (access-token &rest additional-parameters)
Package

cl-oauth.

Source

service-provider.lisp.

Function: alist->plist (alist)

Converts an alist to plist.

Package

cl-oauth.

Source

misc.lisp.

Function: alist->query-string (alist &key include-leading-ampersand url-encode)
Package

cl-oauth.

Source

query-string.lisp.

Function: between (what lower upper)
Package

cl-oauth.

Source

misc.lisp.

Function: build-auth-string (parameters)
Package

cl-oauth.

Source

consumer.lisp.

Function: copy-request-adapter (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Function: generate-auth-parameters (consumer signature-method timestamp version &optional token)
Package

cl-oauth.

Source

consumer.lisp.

Function: generate-nonce (&optional size)
Package

cl-oauth.

Source

consumer.lisp.

Function: get-consumer-token (key)
Package

cl-oauth.

Source

service-provider.lisp.

Function: get-problem-report (headers body)
Package

cl-oauth.

Source

consumer.lisp.

Function: get-problem-report-from-headers (headers)
Package

cl-oauth.

Source

consumer.lisp.

Function: get-supplied-access-token ()

Utility function that extracts the Consumer-supplied request token from a list of normalized parameters. Guards against non-existing and unknown tokens. Returns the request token on success.

Package

cl-oauth.

Source

service-provider.lisp.

Function: get-supplied-callback-uri (&key allow-oob-callback-p allow-none)
Package

cl-oauth.

Source

service-provider.lisp.

Function: get-supplied-consumer-token ()
Package

cl-oauth.

Source

service-provider.lisp.

Function: get-unix-time (&optional ut)
Package

cl-oauth.

Source

misc.lisp.

Function: http-request (uri &key auth-location method auth-parameters parameters additional-headers drakma-args)
Package

cl-oauth.

Source

consumer.lisp.

Function: invalidate-request-token (request-token)
Package

cl-oauth.

Source

service-provider.lisp.

Function: maybe-refresh-access-token (access-token &optional on-refresh)
Package

cl-oauth.

Source

consumer.lisp.

Function: oauth-parameter-p (parameter)

Return T if PARAMETER starts with "oauth_". PARAMETER is a string denoting the parameter name.

Package

cl-oauth.

Source

parameters.lisp.

Function: query-string->alist (query-string)
Package

cl-oauth.

Source

query-string.lisp.

Function: random-key ()
Package

cl-oauth.

Source

tokens.lisp.

Function: random-secret ()
Package

cl-oauth.

Source

tokens.lisp.

Function: random-verification-code ()
Package

cl-oauth.

Source

tokens.lisp.

Function: refresh-access-token (access-token)
Package

cl-oauth.

Source

consumer.lisp.

Function: remove-oauth-parameters (parameters)
Package

cl-oauth.

Source

parameters.lisp.

Reader: request-adapter-abort-request-fn (instance)
Writer: (setf request-adapter-abort-request-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

abort-request-fn.

Reader: request-adapter-auth-parameters-fn (instance)
Writer: (setf request-adapter-auth-parameters-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

auth-parameters-fn.

Reader: request-adapter-get-parameters-fn (instance)
Writer: (setf request-adapter-get-parameters-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

get-parameters-fn.

Function: request-adapter-p (object)
Package

cl-oauth.

Source

request-adapter.lisp.

Reader: request-adapter-post-parameters-fn (instance)
Writer: (setf request-adapter-post-parameters-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

post-parameters-fn.

Reader: request-adapter-request-method-fn (instance)
Writer: (setf request-adapter-request-method-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

request-method-fn.

Reader: request-adapter-request-object-fn (instance)
Writer: (setf request-adapter-request-object-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

request-object-fn.

Reader: request-adapter-request-uri-fn (instance)
Writer: (setf request-adapter-request-uri-fn) (instance)
Package

cl-oauth.

Source

request-adapter.lisp.

Target Slot

request-uri-fn.

Function: splice-alist (alist)
Package

cl-oauth.

Source

misc.lisp.

Function: string-or-octets->octets (x)
Package

cl-oauth.

Source

crypto.lisp.

Function: uri-with-additional-query-part (uri query-part)

Given a URI string or PURI uri, adds the string QUERY-PART to the end of the URI. If it has query params already they are added onto it.

Package

cl-oauth.

Source

consumer.lisp.

Function: url-decode (string &optional external-format)

Decodes a URL-encoded STRING which is assumed to be encoded using the external format EXTERNAL-FORMAT.

Package

cl-oauth.

Source

uri.lisp.


6.2.5 Generic functions

Generic Reader: access-token-origin-uri (object)
Package

cl-oauth.

Methods
Reader Method: access-token-origin-uri ((access-token access-token))

URI this access token has been obtained from. Needed for refresh.

Source

tokens.lisp.

Target Slot

origin-uri.

Generic Reader: consumer-token-last-timestamp (object)
Package

cl-oauth.

Methods
Reader Method: consumer-token-last-timestamp ((consumer-token consumer-token))

automatically generated reader method

Source

tokens.lisp.

Target Slot

last-timestamp.

Generic Writer: (setf consumer-token-last-timestamp) (object)
Package

cl-oauth.

Methods
Writer Method: (setf consumer-token-last-timestamp) ((consumer-token consumer-token))

automatically generated writer method

Source

tokens.lisp.

Target Slot

last-timestamp.

Generic Reader: http-error-reason-phrase (condition)
Package

cl-oauth.

Methods
Reader Method: http-error-reason-phrase ((condition http-error))
Source

error-handling.lisp.

Target Slot

reason-phrase.

Generic Reader: http-error-status-code (condition)
Package

cl-oauth.

Methods
Reader Method: http-error-status-code ((condition http-error))
Source

error-handling.lisp.

Target Slot

status-code.

Generic Function: normalize-uri (uri)
Package

cl-oauth.

Methods
Method: normalize-uri ((uri uri))

9.1.2

Source

uri.lisp.

Method: normalize-uri ((uri string))
Source

uri.lisp.


6.2.6 Classes

Class: consumer-ref-mixin

Mixin for classes that refer to a consumer.

Package

cl-oauth.

Source

tokens.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: consumer

The Consumer that originally requested this token.

Type

cl-oauth:consumer-token

Initargs

:consumer

Readers

token-consumer.

Writers

(setf token-consumer).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   H   I   M   N   O   P   Q   R   S   T   U   V  
Index Entry  Section

(
(setf consumer-token-last-timestamp): Private generic functions
(setf consumer-token-last-timestamp): Private generic functions
(setf request-adapter-abort-request-fn): Private ordinary functions
(setf request-adapter-auth-parameters-fn): Private ordinary functions
(setf request-adapter-get-parameters-fn): Private ordinary functions
(setf request-adapter-post-parameters-fn): Private ordinary functions
(setf request-adapter-request-method-fn): Private ordinary functions
(setf request-adapter-request-object-fn): Private ordinary functions
(setf request-adapter-request-uri-fn): Private ordinary functions
(setf request-token-authorized-p): Public generic functions
(setf request-token-authorized-p): Public generic functions
(setf request-token-verification-code): Public generic functions
(setf request-token-verification-code): Public generic functions
(setf token-consumer): Public generic functions
(setf token-consumer): Public generic functions
(setf token-user-data): Public generic functions
(setf token-user-data): Public generic functions

A
abort-request: Public ordinary functions
access-protected-resource: Public ordinary functions
access-token-authorization-expires: Public generic functions
access-token-authorization-expires: Public generic functions
access-token-expired-p: Public ordinary functions
access-token-expires: Public generic functions
access-token-expires: Public generic functions
access-token-origin-uri: Private generic functions
access-token-origin-uri: Private generic functions
access-token-response: Private ordinary functions
access-token-session-handle: Public generic functions
access-token-session-handle: Public generic functions
alist->plist: Private ordinary functions
alist->query-string: Private ordinary functions
auth-parameters: Public ordinary functions
authorize-request-token: Public ordinary functions
authorize-request-token-from-request: Public ordinary functions

B
between: Private ordinary functions
build-auth-string: Private ordinary functions

C
check-nonce-and-timestamp: Public ordinary functions
check-signature: Public ordinary functions
check-verification-code: Public ordinary functions
check-version: Public ordinary functions
consumer-token-last-timestamp: Private generic functions
consumer-token-last-timestamp: Private generic functions
copy-request-adapter: Private ordinary functions

D
default-error-handler: Public ordinary functions

E
encode-signature: Public ordinary functions

F
finalize-callback-uri: Public ordinary functions
Function, (setf request-adapter-abort-request-fn): Private ordinary functions
Function, (setf request-adapter-auth-parameters-fn): Private ordinary functions
Function, (setf request-adapter-get-parameters-fn): Private ordinary functions
Function, (setf request-adapter-post-parameters-fn): Private ordinary functions
Function, (setf request-adapter-request-method-fn): Private ordinary functions
Function, (setf request-adapter-request-object-fn): Private ordinary functions
Function, (setf request-adapter-request-uri-fn): Private ordinary functions
Function, abort-request: Public ordinary functions
Function, access-protected-resource: Public ordinary functions
Function, access-token-expired-p: Public ordinary functions
Function, access-token-response: Private ordinary functions
Function, alist->plist: Private ordinary functions
Function, alist->query-string: Private ordinary functions
Function, auth-parameters: Public ordinary functions
Function, authorize-request-token: Public ordinary functions
Function, authorize-request-token-from-request: Public ordinary functions
Function, between: Private ordinary functions
Function, build-auth-string: Private ordinary functions
Function, check-nonce-and-timestamp: Public ordinary functions
Function, check-signature: Public ordinary functions
Function, check-verification-code: Public ordinary functions
Function, check-version: Public ordinary functions
Function, copy-request-adapter: Private ordinary functions
Function, default-error-handler: Public ordinary functions
Function, encode-signature: Public ordinary functions
Function, finalize-callback-uri: Public ordinary functions
Function, generate-auth-parameters: Private ordinary functions
Function, generate-nonce: Private ordinary functions
Function, get-consumer-token: Private ordinary functions
Function, get-parameters: Public ordinary functions
Function, get-problem-report: Private ordinary functions
Function, get-problem-report-from-headers: Private ordinary functions
Function, get-supplied-access-token: Private ordinary functions
Function, get-supplied-callback-uri: Private ordinary functions
Function, get-supplied-consumer-token: Private ordinary functions
Function, get-supplied-request-token: Public ordinary functions
Function, get-unix-time: Private ordinary functions
Function, hmac-key: Public ordinary functions
Function, hmac-sha1: Public ordinary functions
Function, http-request: Private ordinary functions
Function, init-default-request-adapter: Public ordinary functions
Function, invalidate-request-token: Private ordinary functions
Function, make-access-token: Public ordinary functions
Function, make-authorization-uri: Public ordinary functions
Function, make-consumer-token: Public ordinary functions
Function, make-hunchentoot-request-adapter: Public ordinary functions
Function, make-request-adapter: Public ordinary functions
Function, make-request-token: Public ordinary functions
Function, make-response: Public ordinary functions
Function, maybe-refresh-access-token: Private ordinary functions
Function, normalized-parameters: Public ordinary functions
Function, oauth-parameter-p: Private ordinary functions
Function, obtain-access-token: Public ordinary functions
Function, obtain-request-token: Public ordinary functions
Function, parameter: Public ordinary functions
Function, post-parameters: Public ordinary functions
Function, query-string->alist: Private ordinary functions
Function, raise-error: Public ordinary functions
Function, random-key: Private ordinary functions
Function, random-secret: Private ordinary functions
Function, random-verification-code: Private ordinary functions
Function, refresh-access-token: Private ordinary functions
Function, remove-oauth-parameters: Private ordinary functions
Function, request: Public ordinary functions
Function, request-adapter-abort-request-fn: Private ordinary functions
Function, request-adapter-auth-parameters-fn: Private ordinary functions
Function, request-adapter-get-parameters-fn: Private ordinary functions
Function, request-adapter-p: Private ordinary functions
Function, request-adapter-post-parameters-fn: Private ordinary functions
Function, request-adapter-request-method-fn: Private ordinary functions
Function, request-adapter-request-object-fn: Private ordinary functions
Function, request-adapter-request-uri-fn: Private ordinary functions
Function, request-method: Public ordinary functions
Function, request-token-response: Public ordinary functions
Function, request-uri: Public ordinary functions
Function, signature-base-string: Public ordinary functions
Function, sort-parameters: Public ordinary functions
Function, splice-alist: Private ordinary functions
Function, string-or-octets->octets: Private ordinary functions
Function, uri-with-additional-query-part: Private ordinary functions
Function, url-decode: Private ordinary functions
Function, url-encode: Public ordinary functions
Function, validate-access-token: Public ordinary functions
Function, validate-access-token-request: Public ordinary functions
Function, validate-request-token-request: Public ordinary functions

G
generate-auth-parameters: Private ordinary functions
generate-nonce: Private ordinary functions
Generic Function, (setf consumer-token-last-timestamp): Private generic functions
Generic Function, (setf request-token-authorized-p): Public generic functions
Generic Function, (setf request-token-verification-code): Public generic functions
Generic Function, (setf token-consumer): Public generic functions
Generic Function, (setf token-user-data): Public generic functions
Generic Function, access-token-authorization-expires: Public generic functions
Generic Function, access-token-expires: Public generic functions
Generic Function, access-token-origin-uri: Private generic functions
Generic Function, access-token-session-handle: Public generic functions
Generic Function, consumer-token-last-timestamp: Private generic functions
Generic Function, http-error-reason-phrase: Private generic functions
Generic Function, http-error-status-code: Private generic functions
Generic Function, normalize-uri: Private generic functions
Generic Function, register-token: Public generic functions
Generic Function, request-token-authorized-p: Public generic functions
Generic Function, request-token-callback-uri: Public generic functions
Generic Function, request-token-verification-code: Public generic functions
Generic Function, token-consumer: Public generic functions
Generic Function, token-key: Public generic functions
Generic Function, token-secret: Public generic functions
Generic Function, token-user-data: Public generic functions
Generic Function, unregister-token: Public generic functions
get-consumer-token: Private ordinary functions
get-parameters: Public ordinary functions
get-problem-report: Private ordinary functions
get-problem-report-from-headers: Private ordinary functions
get-supplied-access-token: Private ordinary functions
get-supplied-callback-uri: Private ordinary functions
get-supplied-consumer-token: Private ordinary functions
get-supplied-request-token: Public ordinary functions
get-unix-time: Private ordinary functions

H
hmac-key: Public ordinary functions
hmac-sha1: Public ordinary functions
http-error-reason-phrase: Private generic functions
http-error-reason-phrase: Private generic functions
http-error-status-code: Private generic functions
http-error-status-code: Private generic functions
http-request: Private ordinary functions

I
ignore-oauth-errors: Private macros
init-default-request-adapter: Public ordinary functions
invalidate-request-token: Private ordinary functions

M
Macro, ignore-oauth-errors: Private macros
Macro, protocol-assert: Public macros
Macro, upgrade-vector: Private macros
make-access-token: Public ordinary functions
make-authorization-uri: Public ordinary functions
make-consumer-token: Public ordinary functions
make-hunchentoot-request-adapter: Public ordinary functions
make-request-adapter: Public ordinary functions
make-request-token: Public ordinary functions
make-response: Public ordinary functions
maybe-refresh-access-token: Private ordinary functions
Method, (setf consumer-token-last-timestamp): Private generic functions
Method, (setf request-token-authorized-p): Public generic functions
Method, (setf request-token-verification-code): Public generic functions
Method, (setf token-consumer): Public generic functions
Method, (setf token-user-data): Public generic functions
Method, access-token-authorization-expires: Public generic functions
Method, access-token-expires: Public generic functions
Method, access-token-origin-uri: Private generic functions
Method, access-token-session-handle: Public generic functions
Method, consumer-token-last-timestamp: Private generic functions
Method, http-error-reason-phrase: Private generic functions
Method, http-error-status-code: Private generic functions
Method, normalize-uri: Private generic functions
Method, normalize-uri: Private generic functions
Method, print-object: Public standalone methods
Method, register-token: Public generic functions
Method, register-token: Public generic functions
Method, register-token: Public generic functions
Method, request-token-authorized-p: Public generic functions
Method, request-token-callback-uri: Public generic functions
Method, request-token-verification-code: Public generic functions
Method, token-consumer: Public generic functions
Method, token-key: Public generic functions
Method, token-secret: Public generic functions
Method, token-user-data: Public generic functions
Method, unregister-token: Public generic functions
Method, unregister-token: Public generic functions
Method, unregister-token: Public generic functions

N
normalize-uri: Private generic functions
normalize-uri: Private generic functions
normalize-uri: Private generic functions
normalized-parameters: Public ordinary functions

O
oauth-parameter-p: Private ordinary functions
obtain-access-token: Public ordinary functions
obtain-request-token: Public ordinary functions

P
parameter: Public ordinary functions
post-parameters: Public ordinary functions
print-object: Public standalone methods
protocol-assert: Public macros

Q
query-string->alist: Private ordinary functions

R
raise-error: Public ordinary functions
random-key: Private ordinary functions
random-secret: Private ordinary functions
random-verification-code: Private ordinary functions
refresh-access-token: Private ordinary functions
register-token: Public generic functions
register-token: Public generic functions
register-token: Public generic functions
register-token: Public generic functions
remove-oauth-parameters: Private ordinary functions
request: Public ordinary functions
request-adapter-abort-request-fn: Private ordinary functions
request-adapter-auth-parameters-fn: Private ordinary functions
request-adapter-get-parameters-fn: Private ordinary functions
request-adapter-p: Private ordinary functions
request-adapter-post-parameters-fn: Private ordinary functions
request-adapter-request-method-fn: Private ordinary functions
request-adapter-request-object-fn: Private ordinary functions
request-adapter-request-uri-fn: Private ordinary functions
request-method: Public ordinary functions
request-token-authorized-p: Public generic functions
request-token-authorized-p: Public generic functions
request-token-callback-uri: Public generic functions
request-token-callback-uri: Public generic functions
request-token-response: Public ordinary functions
request-token-verification-code: Public generic functions
request-token-verification-code: Public generic functions
request-uri: Public ordinary functions

S
signature-base-string: Public ordinary functions
sort-parameters: Public ordinary functions
splice-alist: Private ordinary functions
string-or-octets->octets: Private ordinary functions

T
token-consumer: Public generic functions
token-consumer: Public generic functions
token-key: Public generic functions
token-key: Public generic functions
token-secret: Public generic functions
token-secret: Public generic functions
token-user-data: Public generic functions
token-user-data: Public generic functions

U
unregister-token: Public generic functions
unregister-token: Public generic functions
unregister-token: Public generic functions
unregister-token: Public generic functions
upgrade-vector: Private macros
uri-with-additional-query-part: Private ordinary functions
url-decode: Private ordinary functions
url-encode: Public ordinary functions

V
validate-access-token: Public ordinary functions
validate-access-token-request: Public ordinary functions
validate-request-token-request: Public ordinary functions


A.3 Variables

Jump to:   *   +  
A   C   E   G   K   L   O   P   R   S   U   V  
Index Entry  Section

*
*issued-access-tokens*: Private special variables
*issued-request-tokens*: Private special variables
*parameters-cache*: Private special variables
*protocol-version*: Public special variables
*registered-consumers*: Private special variables
*request*: Public special variables
*request-adapter*: Public special variables
*signature-cache*: Private special variables

+
+unix-to-universal-time+: Private constants
+utf-8+: Private special variables

A
abort-request-fn: Public structures
auth-parameters-fn: Public structures
authorization-expires: Public classes
authorized-p: Public classes

C
callback-uri: Public classes
Constant, +unix-to-universal-time+: Private constants
consumer: Private classes

E
expires: Public classes

G
get-parameters-fn: Public structures

K
key: Public classes

L
last-timestamp: Public classes

O
origin-uri: Public classes

P
post-parameters-fn: Public structures

R
reason-phrase: Public conditions
request-method-fn: Public structures
request-object-fn: Public structures
request-uri-fn: Public structures

S
secret: Public classes
session-handle: Public classes
Slot, abort-request-fn: Public structures
Slot, auth-parameters-fn: Public structures
Slot, authorization-expires: Public classes
Slot, authorized-p: Public classes
Slot, callback-uri: Public classes
Slot, consumer: Private classes
Slot, expires: Public classes
Slot, get-parameters-fn: Public structures
Slot, key: Public classes
Slot, last-timestamp: Public classes
Slot, origin-uri: Public classes
Slot, post-parameters-fn: Public structures
Slot, reason-phrase: Public conditions
Slot, request-method-fn: Public structures
Slot, request-object-fn: Public structures
Slot, request-uri-fn: Public structures
Slot, secret: Public classes
Slot, session-handle: Public classes
Slot, status-code: Public conditions
Slot, user-data: Public classes
Slot, verification-code: Public classes
Special Variable, *issued-access-tokens*: Private special variables
Special Variable, *issued-request-tokens*: Private special variables
Special Variable, *parameters-cache*: Private special variables
Special Variable, *protocol-version*: Public special variables
Special Variable, *registered-consumers*: Private special variables
Special Variable, *request*: Public special variables
Special Variable, *request-adapter*: Public special variables
Special Variable, *signature-cache*: Private special variables
Special Variable, +utf-8+: Private special variables
status-code: Public conditions

U
user-data: Public classes

V
verification-code: Public classes


A.4 Data types

Jump to:   A   B   C   E   F   H   M   P   Q   R   S   T   U  
Index Entry  Section

A
access-token: Public classes

B
bad-request: Public conditions

C
cl-oauth: The cl-oauth system
cl-oauth: The cl-oauth package
cl-oauth-asd: The cl-oauth-asd package
cl-oauth.asd: The cl-oauth/cl-oauth․asd file
Class, access-token: Public classes
Class, consumer-ref-mixin: Private classes
Class, consumer-token: Public classes
Class, request-token: Public classes
Class, token: Public classes
Condition, bad-request: Public conditions
Condition, http-error: Public conditions
Condition, unauthorized: Public conditions
consumer-ref-mixin: Private classes
consumer-token: Public classes
consumer.lisp: The cl-oauth/src/core/consumer․lisp file
core: The cl-oauth/src/core module
crypto.lisp: The cl-oauth/src/core/crypto․lisp file

E
error-handling.lisp: The cl-oauth/src/core/error-handling․lisp file

F
File, cl-oauth.asd: The cl-oauth/cl-oauth․asd file
File, consumer.lisp: The cl-oauth/src/core/consumer․lisp file
File, crypto.lisp: The cl-oauth/src/core/crypto․lisp file
File, error-handling.lisp: The cl-oauth/src/core/error-handling․lisp file
File, misc.lisp: The cl-oauth/src/util/misc․lisp file
File, package.lisp: The cl-oauth/src/package․lisp file
File, parameters.lisp: The cl-oauth/src/core/parameters․lisp file
File, query-string.lisp: The cl-oauth/src/util/query-string․lisp file
File, request-adapter.lisp: The cl-oauth/src/core/request-adapter․lisp file
File, service-provider.lisp: The cl-oauth/src/core/service-provider․lisp file
File, signature.lisp: The cl-oauth/src/core/signature․lisp file
File, tokens.lisp: The cl-oauth/src/core/tokens․lisp file
File, uri.lisp: The cl-oauth/src/util/uri․lisp file

H
http-error: Public conditions

M
misc.lisp: The cl-oauth/src/util/misc․lisp file
Module, core: The cl-oauth/src/core module
Module, src: The cl-oauth/src module
Module, util: The cl-oauth/src/util module

P
Package, cl-oauth: The cl-oauth package
Package, cl-oauth-asd: The cl-oauth-asd package
package.lisp: The cl-oauth/src/package․lisp file
parameters.lisp: The cl-oauth/src/core/parameters․lisp file

Q
query-string.lisp: The cl-oauth/src/util/query-string․lisp file

R
request-adapter: Public structures
request-adapter.lisp: The cl-oauth/src/core/request-adapter․lisp file
request-token: Public classes

S
service-provider.lisp: The cl-oauth/src/core/service-provider․lisp file
signature.lisp: The cl-oauth/src/core/signature․lisp file
src: The cl-oauth/src module
Structure, request-adapter: Public structures
System, cl-oauth: The cl-oauth system

T
token: Public classes
tokens.lisp: The cl-oauth/src/core/tokens․lisp file

U
unauthorized: Public conditions
uri.lisp: The cl-oauth/src/util/uri․lisp file
util: The cl-oauth/src/util module