The north Reference Manual

This is the north Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed May 15 06:22:55 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 north

oAuth 1.0a server and client implementation, the successor to South.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/north/

Source Control

(GIT https://github.com/Shinmera/north.git)

Bug Tracker

https://github.com/Shinmera/north/issues

License

zlib

Version

1.0.0

Dependency

north-drakma (system).

Source

north.asd.


2.2 north-drakma

Drakma backend for North

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/north/

Source Control

(GIT https://github.com/Shinmera/north.git)

Bug Tracker

https://github.com/Shinmera/north/issues

License

zlib

Version

1.0.0

Dependencies
Source

north-drakma.asd.

Child Component

drakma.lisp (file).


2.3 north-core

Core functionality of North, excluding the HTTP backend.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/north/

Source Control

(GIT https://github.com/Shinmera/north.git)

Bug Tracker

https://github.com/Shinmera/north/issues

License

zlib

Version

1.0.0

Dependencies
  • uuid (system).
  • crypto-shortcuts (system).
  • cl-ppcre (system).
  • documentation-utils (system).
Source

north-core.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 north/north.asd

Source

north.asd.

Parent Component

north (system).

ASDF Systems

north.


3.1.2 north-drakma/north-drakma.asd

Source

north-drakma.asd.

Parent Component

north-drakma (system).

ASDF Systems

north-drakma.


3.1.3 north-core/north-core.asd

Source

north-core.asd.

Parent Component

north-core (system).

ASDF Systems

north-core.


3.1.4 north-drakma/drakma.lisp

Source

north-drakma.asd.

Parent Component

north-drakma (system).

Public Interface

call (method).


3.1.5 north-core/package.lisp

Source

north-core.asd.

Parent Component

north-core (system).

Packages

north.


3.1.6 north-core/toolkit.lisp

Dependency

package.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).

Public Interface
Internals

3.1.7 north-core/conditions.lisp

Dependency

toolkit.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).

Public Interface

3.1.8 north-core/request.lisp

Dependency

conditions.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).

Public Interface

3.1.9 north-core/server.lisp

Dependency

request.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).

Public Interface
Internals

3.1.10 north-core/client.lisp

Dependency

server.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).

Public Interface

3.1.11 north-core/documentation.lisp

Dependency

client.lisp (file).

Source

north-core.asd.

Parent Component

north-core (system).


4 Packages

Packages are listed by definition order.


4.1 north

Source

package.lisp.

Nickname

org.shirakumo.north

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *external-format*

The external format to use to url-en/decode and execute requests. Defaults to :UTF-8

Package

north.

Source

toolkit.lisp.


5.1.2 Setf expanders

Setf Expander: (setf pget) (key alist)
Package

north.

Source

toolkit.lisp.

Reader

pget (function).


5.1.3 Ordinary functions

Function: alist->oauth-response (alist)

Concatenates an alist into an oauth response body.

See CONCAT-PARAMS.

Package

north.

Source

toolkit.lisp.

Function: concat-params (params &key quote delim)

Concatenate the given alist into a single parameter string.

This intermits an equal sign between key and value, and DELIM between each pair. If QUOTE is non-NIL, the values are surrounded by #\".

Package

north.

Source

toolkit.lisp.

Function: create-signature (consumer-secret token-secret method url oauth-params &optional params)

Create an oAuth signature for the given parameters.

This does not include the oauth_signature parameters if it is passed in OAUTH-PARAMS. Calls SIGN using the oauth_signature_method oauth param, a normalized token from the OAUTH-PARAMS and GET-PARAMS, and the given CONSUMER-SECRET and TOKEN-SECRET.

See SIGN
See NORMALIZE-TOKEN

Package

north.

Source

toolkit.lisp.

Function: destructure-oauth-header (header)

Destructures an Authorization header into its oauth parameters.

Returns an alist of all the parameters with their associated values. If the header is malformed, an error is signalled.

Package

north.

Source

toolkit.lisp.

Function: make-nonce ()

Creates a default nonce by turning a V4 UUID into a string.

Package

north.

Source

toolkit.lisp.

Function: make-request (url method &key params headers oauth)

Shorthand function to construct a request object.

Package

north.

Source

request.lisp.

Function: make-timestamp ()

Creates a default timestamp by turning a unix timestamp into a string.

Package

north.

Source

toolkit.lisp.

Function: normalize-url (url)

Normalises the URL to avoid ambiguity.

In specific, it downcases the scheme, removes leading slashes from the path, and omits the 80 port if the scheme is HTTP, and the 443 port if the scheme is HTTPS.

Package

north.

Source

toolkit.lisp.

Function: oauth-response->alist (body)

Splits the body into an alist of keys and values.

Package

north.

Source

toolkit.lisp.

Function: pget (key alist)

Easy accessor for alists.

Checks keys STRING-EQUALly and returns the value directly, if found. SETF-able. If a key is set that does not occur in the alist, a new entry is PUSHed, otherwise the existing one is modified. The key is coerced using ALIST-KEY

See ALIST-KEY

Package

north.

Source

toolkit.lisp.

Setf expander for this function

(setf pget).

Function: sort-params (params)

Creates a fresh list in which the parameters are sorted.

See PARAM<

Package

north.

Source

toolkit.lisp.

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

Decode the string into plain text format.

See *EXTERNAL-FORMAT*

Package

north.

Source

toolkit.lisp.

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

Encode the string into url-encoded format as required by the oAuth spec.

Namely all characters except [0-9], [a-z], [A-Z], and [-._~] are encoded.

See *EXTERNAL-FORMAT*

Package

north.

Source

toolkit.lisp.


5.1.4 Generic functions

Generic Reader: access (object)

Accessor to what kind of access the session has. Should initially be :request, and is set to :access once the handshake has completed.

See SESSION

Package

north.

Methods
Reader Method: access ((session session))

automatically generated reader method

Source

server.lisp.

Target Slot

access.

Generic Writer: (setf access) (object)
Package

north.

Methods
Writer Method: (setf access) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

access.

Generic Reader: access-token-uri (object)

Accesses the oauth/access-token uri, the third endpoint for the oAuth process.

Package

north.

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

automatically generated reader method

Source

client.lisp.

Target Slot

access-token-uri.

Generic Writer: (setf access-token-uri) (object)
Package

north.

Methods
Writer Method: (setf access-token-uri) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

access-token-uri.

Generic Function: application (server application-key)

Returns the application object associated with the given key on the server, if any.

See SERVER
See APPLICATION

Package

north.

Source

server.lisp.

Methods
Method: application ((server simple-server) application-key)
Generic Reader: applications (object)

Accessor to the hash table of key -> application in the server.

See SIMPLE-SERVER

Package

north.

Methods
Reader Method: applications ((simple-server simple-server))

automatically generated reader method

Source

server.lisp.

Target Slot

applications.

Generic Writer: (setf applications) (object)
Package

north.

Methods
Writer Method: (setf applications) ((simple-server simple-server))

automatically generated writer method

Source

server.lisp.

Target Slot

applications.

Generic Reader: authorize-uri (object)

Accesses the oauth/authorize uri, the second endpoint for the oAuth process.

Package

north.

Methods
Reader Method: authorize-uri ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

authorize-uri.

Generic Writer: (setf authorize-uri) (object)
Package

north.

Methods
Writer Method: (setf authorize-uri) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

authorize-uri.

Generic Reader: body (condition)

The returned http body of the failed request. This may be an octet-vector if the content type is not known to drakma.

See REQUEST-FAILED
See DRAKMA:*TEXT-CONTENT-TYPES*

Package

north.

Methods
Reader Method: body ((condition request-failed))
Source

conditions.lisp.

Target Slot

body.

Generic Function: call (request &rest args)

Executes the given request object.

If the http status code returned is 200, the response body is returned. Otherwise, an error of type REQUEST-FAILED is signalled. Note that the allowed extra arguments are dependant on the backend being used. The one parameter that must be universally recognised is the :FORM-DATA boolean, designating whether the parameters contain form data to be sent over the request such as files. Files in the parameter list should be either a cons of the parameter name and file as pathname or octet-vector, or a list of name, file, and optional keyword arguments. The only file keyword argument currently recognised is :CONTENT-TYPE, specifying the supplied content-type that should be submitted to the server for the file.

See REQUEST
See REQUEST-FAILED

Package

north.

Source

client.lisp.

Methods
Method: call ((request request) &rest drakma-args)
Source

drakma.lisp.

Generic Function: call-signed (request consumer-secret &optional token-secret &rest args)

Execute the given request object after signing it.

See REQUEST
See CALL
See MAKE-AUTHORIZED
See MAKE-SIGNED

Package

north.

Source

client.lisp.

Methods
Method: call-signed ((request request) consumer-secret &optional token-secret &rest args)
Generic Reader: callback (object)

Accesses the callback to which the oauth/authorize step should redirect. If it should not redirect, the callback must be exactly the string "oob".

Package

north.

Methods
Reader Method: callback ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

callback.

Reader Method: callback ((session session))

automatically generated reader method

Source

server.lisp.

Target Slot

callback.

Generic Writer: (setf callback) (object)
Package

north.

Methods
Writer Method: (setf callback) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

callback.

Writer Method: (setf callback) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

callback.

Generic Function: complete-authentication (client verifier &optional token)

Complete the authentication process for the client.

This performs an oauth/access-token request.
This operation modifies the TOKEN and TOKEN-SECRET fields of the client.
When the client has a VERIFY-URI given, an additional oauth/verify request is made to test whether the full process was complete.

See CLIENT
See MAKE-SIGNED-REQUEST

Package

north.

Source

client.lisp.

Methods
Method: complete-authentication ((client client) verifier &optional token)
Generic Function: find-nonce (server timestamp nonce)

If the given nonce was used before on the given timestamp, return non-NIL.

Package

north.

Source

server.lisp.

Methods
Method: find-nonce ((server simple-server) (timestamp integer) (nonce string))
Method: find-nonce ((server server) (timestamp string) nonce)
Generic Reader: headers (condition)

Accesses the HTTP headers of the request.

Package

north.

Methods
Reader Method: headers ((request request))

automatically generated reader method

Source

request.lisp.

Target Slot

headers.

Reader Method: headers ((condition request-failed))
Source

conditions.lisp.

Target Slot

headers.

Generic Writer: (setf headers) (object)
Package

north.

Methods
Writer Method: (setf headers) ((request request))

automatically generated writer method

Source

request.lisp.

Target Slot

headers.

Generic Reader: http-method (object)

Accesses the HTTP-METHOD (GET/POST) of the request.

Package

north.

Methods
Reader Method: http-method ((request request))

automatically generated reader method

Source

request.lisp.

Target Slot

http-method.

Generic Writer: (setf http-method) (object)
Package

north.

Methods
Writer Method: (setf http-method) ((request request))

automatically generated writer method

Source

request.lisp.

Target Slot

http-method.

Generic Function: initiate-authentication (client)

Start the authentication process for the client.

This performs an oauth/request-token request and constructs the proper oauth/authorize URL for the user to visit. This address is returned.
If the provider did not confirm the callback, an error of type CALLBACK-UNCONFIRMED is signalled.
This operation modifies the TOKEN and TOKEN-SECRET fields of the client.

See CLIENT
See MAKE-SIGNED-REQUEST

Package

north.

Source

client.lisp.

Methods
Method: initiate-authentication ((client client))
Generic Reader: key (object)

Accesses the application key.

Package

north.

Methods
Reader Method: key ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

key.

Reader Method: key ((application application))

automatically generated reader method

Source

server.lisp.

Target Slot

key.

Reader Method: key ((session session))

automatically generated reader method

Source

server.lisp.

Target Slot

key.

Generic Writer: (setf key) (object)
Package

north.

Methods
Writer Method: (setf key) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

key.

Writer Method: (setf key) ((application application))

automatically generated writer method

Source

server.lisp.

Target Slot

key.

Writer Method: (setf key) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

key.

Generic Function: make-application (server &key name &allow-other-keys)

Creates and adds a new application object to the server.

Additionally supported keyword arguments are used as initargs for the application instance. Which application class is used depends on the server.

See SERVER
See APPLICATION

Package

north.

Source

server.lisp.

Methods
Method: make-application ((server simple-server) &key name)
Generic Function: make-authorized (request)

Modifies the request to add the authorization header using the oauth parameters.

If the oauth_signature parameter is missing, an error is signalled.
Returns the request.

See REQUEST

Package

north.

Source

request.lisp.

Methods
Method: make-authorized ((request request))
Generic Function: make-session (server application callback &key access &allow-other-keys)

Creates and adds a new session object to the server.

Additionally supported keyword arguments are used as initargs for the session instance. Which session class is used depends on the server.

See SERVER
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: make-session ((server simple-server) (application application) callback &key access)
Method: make-session ((server server) (application-key string) callback &rest args)
Generic Function: make-signed (request consumer-secret &optional token-secret)

Modifies the request to add a signature to the oauth parameters.

This will also modify the oauth parameters list to remove duplicates or empty values. Returns the request.

See REQUEST
See CREATE-SIGNATURE

Package

north.

Source

request.lisp.

Methods
Method: make-signed ((request request) consumer-secret &optional token-secret)
Generic Function: make-signed-data-request (client url data &key params headers oauth)

Construct and execute a signed request to send data payloads.

Each data value can be either a pathname or an octet-vector.
Returns the result of the request execution as the first value and the constructed request object itself as the second.

See CLIENT
See REQUEST
See CALL-SIGNED

Package

north.

Source

client.lisp.

Methods
Method: make-signed-data-request ((client client) url data &key params headers oauth)
Generic Function: make-signed-request (client url method &key params headers oauth)

Construct and execute a signed request for the given client.

Returns the result of the request execution as the first value and the constructed request object itself as the second.

See CLIENT
See REQUEST
See CALL-SIGNED

Package

north.

Source

client.lisp.

Methods
Method: make-signed-request ((client client) url method &key params headers oauth)
Generic Reader: name (object)

Accessor to the name of the application.

See APPLICATION

Package

north.

Methods
Reader Method: name ((application application))

automatically generated reader method

Source

server.lisp.

Target Slot

name.

Generic Writer: (setf name) (object)
Package

north.

Methods
Writer Method: (setf name) ((application application))

automatically generated writer method

Source

server.lisp.

Target Slot

name.

Generic Reader: nonces (object)

Accessor to the hash table of timestamp -> nonce-list in the server.

See SIMPLE-SERVER

Package

north.

Methods
Reader Method: nonces ((simple-server simple-server))

automatically generated reader method

Source

server.lisp.

Target Slot

nonces.

Generic Writer: (setf nonces) (object)
Package

north.

Methods
Writer Method: (setf nonces) ((simple-server simple-server))

automatically generated writer method

Source

server.lisp.

Target Slot

nonces.

Generic Reader: oauth (object)

Accesses the pure oauth parameters of the request.

Package

north.

Methods
Reader Method: oauth ((request request))

automatically generated reader method

Source

request.lisp.

Target Slot

oauth.

Generic Writer: (setf oauth) (object)
Package

north.

Methods
Writer Method: (setf oauth) ((request request))

automatically generated writer method

Source

request.lisp.

Target Slot

oauth.

Generic Function: oauth/access-token (server request)

Perform the oauth/access-token step of the process.

This verifies the request and if successful, upgrades its access to full. It will also invalidate the session’s verifier and rehash it.

Returns three values:
TOKEN — The newly generated access token.
TOKEN-SECRET — The newly generated access token secret.
SESSION — The associated session object.

Signals a PARAMETER-ERROR or VERIFICATION-ERROR on an invalid request.

See SERVER
See VERIFIER
See REHASH-SESSION
See TOKEN
See TOKEN-SECRET
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: oauth/access-token ((server server) (request request))
Generic Function: oauth/authorize (server request)

Perform the oauth/authorize step of the process.

This verifies the request and returns four values:
TOKEN — The current request token.
VERIFIER — The (possibly newly generated) verifier for the next step. URL — The callback URL to redirect to if the callback is not "oob". If the callback is indeed "oob", NIL is returned for this. SESSION — The associated session object.

Signals a VERIFICATION-ERROR on an invalid request.

See SERVER
See TOKEN
See VERIFIER
See CALLBACK
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: oauth/authorize ((server server) (request request))
Generic Function: oauth/request-token (server request)

Perform the oauth/request-token step of the process.

This creates a new session object and returns four values:
TOKEN — The newly generated request token.
TOKEN-SECRET — The newly generated request token secret. CALLBACK-CONFIRMED — Whether the callback has been confirmed. According to the spec, this should always be T.
SESSION — The newly created session object.

Signals a PARAMETER-ERROR or VERIFICATION-ERROR on an invalid request.

See SERVER
See MAKE-SESSION
See TOKEN
See TOKEN-SECRET
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: oauth/request-token ((server server) (request request))
Generic Function: oauth/verify (server request)

Standard endpoint to use on any protected resource.

This verifies the request and makes sure it uses a valid access token.

Returns two values:
SESSION — The associated session object.
APPLICATION — The associated application object.

Signals a PARAMETER-ERROR or VERIFICATION-ERROR on an invalid request.

Package

north.

Source

server.lisp.

Methods
Method: oauth/verify ((server server) (request request))
Generic Reader: parameters (condition)

Accesses the parameters of the request.

Package

north.

Methods
Reader Method: parameters ((request request))

automatically generated reader method

Source

request.lisp.

Target Slot

parameters.

Reader Method: parameters ((condition parameters-missing))
Source

conditions.lisp.

Target Slot

parameters.

Generic Writer: (setf parameters) (object)
Package

north.

Methods
Writer Method: (setf parameters) ((request request))

automatically generated writer method

Source

request.lisp.

Target Slot

parameters.

Generic Function: record-nonce (server timestamp nonce)

Remember the given nonce for the used timestamp.

Package

north.

Source

server.lisp.

Methods
Method: record-nonce ((server simple-server) timestamp nonce)
Generic Function: rehash-session (server session)

Updates the session object to use a new token and token-secret.

The server must ensure that the session will no longer be accessible through SESSION using the old token, but will be accessible through the newly generated token.

See SERVER
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: rehash-session ((server simple-server) (session session))
Method: rehash-session ((server server) (string string))
Generic Reader: request (condition)

The request object that the error occurred on.

See NORTH-CONDITION

Package

north.

Methods
Reader Method: request ((condition north-condition))
Source

conditions.lisp.

Target Slot

request.

Generic Reader: request-token-uri (object)

Accesses the oauth/request-token uri, the first endpoint for the oAuth process.

Package

north.

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

automatically generated reader method

Source

client.lisp.

Target Slot

request-token-uri.

Generic Writer: (setf request-token-uri) (object)
Package

north.

Methods
Writer Method: (setf request-token-uri) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

request-token-uri.

Generic Function: revoke-application (server application-key)

Removes the given application from the server.

The application must be no longer reachable through CONSUMER on the server and all sessions authorized through this application must be invalidated.

See SERVER
See APPLICATION
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: revoke-application ((server simple-server) (application application))
Method: revoke-application ((server server) (string string))
Generic Function: revoke-session (server token)

Removes the given session from the server.

The session must no longer be valid and any client trying to use its tokens to access any resource or perform any step of the oauth process must be rejected.

See SERVER
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: revoke-session ((server simple-server) (session session))
Method: revoke-session ((server server) (string string))
Generic Reader: secret (object)

Accesses the application secret.

Package

north.

Methods
Reader Method: secret ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

secret.

Reader Method: secret ((application application))

automatically generated reader method

Source

server.lisp.

Target Slot

secret.

Generic Writer: (setf secret) (object)
Package

north.

Methods
Writer Method: (setf secret) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

secret.

Writer Method: (setf secret) ((application application))

automatically generated writer method

Source

server.lisp.

Target Slot

secret.

Generic Function: session (server token)

Returns the session object associated with the given token on the server, if any.

See SERVER
See SESSION

Package

north.

Source

server.lisp.

Methods
Method: session ((server simple-server) token)
Generic Reader: sessions (object)

Accessor to the hash table of token -> session in the server.

See SIMPLE-SERVER

Package

north.

Methods
Reader Method: sessions ((simple-server simple-server))

automatically generated reader method

Source

server.lisp.

Target Slot

sessions.

Generic Writer: (setf sessions) (object)
Package

north.

Methods
Writer Method: (setf sessions) ((simple-server simple-server))

automatically generated writer method

Source

server.lisp.

Target Slot

sessions.

Generic Function: sign (method data consumer-secret &optional token-secret)

Signs the given data using the specified method.

By default, :PLAINTEXT, :HMAC-SHA1, and :CMAC-AES are supported. A string can be used for the method as well, but will be converted to a keyword first.

Package

north.

Source

toolkit.lisp.

Methods
Method: sign (method data consumer-secret &optional token-secret)
Method: sign ((method (eql :plaintext)) data consumer-secret &optional token-secret)
Method: sign ((method (eql :hmac-sha1)) data consumer-secret &optional token-secret)
Method: sign ((method (eql :cmac-aes)) data consumer-secret &optional token-secret)
Method: sign ((method string) data consumer-secret &optional token-secret)
Generic Reader: status-code (condition)

The returned status code of the failed request.

See REQUEST-FAILED

Package

north.

Methods
Reader Method: status-code ((condition request-failed))
Source

conditions.lisp.

Target Slot

status-code.

Generic Reader: token (object)

Accesses the current (access or request) token.

Package

north.

Methods
Reader Method: token ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

token.

Reader Method: token ((session session))

automatically generated reader method

Source

server.lisp.

Target Slot

token.

Generic Writer: (setf token) (object)
Package

north.

Methods
Writer Method: (setf token) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

token.

Writer Method: (setf token) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

token.

Generic Reader: token-secret (object)

Accesses the current (access or request) token secret.

Package

north.

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

automatically generated reader method

Source

client.lisp.

Target Slot

token-secret.

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

automatically generated reader method

Source

server.lisp.

Target Slot

token-secret.

Generic Writer: (setf token-secret) (object)
Package

north.

Methods
Writer Method: (setf token-secret) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

token-secret.

Writer Method: (setf token-secret) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

token-secret.

Generic Reader: url (object)

Accesses the URL of the request.

Package

north.

Methods
Reader Method: url ((request request))

automatically generated reader method

Source

request.lisp.

Target Slot

url.

Generic Writer: (setf url) (object)
Package

north.

Methods
Writer Method: (setf url) ((request request))

automatically generated writer method

Source

request.lisp.

Target Slot

url.

Generic Reader: verifier (object)

Accessor to the verifier token that the consumer has to provide to exchange the request token for an access token.

See SESSION

Package

north.

Methods
Reader Method: verifier ((session session))

automatically generated reader method

Source

server.lisp.

Target Slot

verifier.

Generic Writer: (setf verifier) (object)
Package

north.

Methods
Writer Method: (setf verifier) ((session session))

automatically generated writer method

Source

server.lisp.

Target Slot

verifier.

Generic Function: verify (request consumer-secret &optional token-secret)

Verifies whether the signature in the request is valid.
To do this it destructures the Authorization header and uses it values to construct a new signature. This is then compared against the oauth_signature value in the oauth alist.

See REQUEST
See DESTRUCTURE-OAUTH-HEADER
See CREATE-SIGNATURE

Package

north.

Source

request.lisp.

Methods
Method: verify ((request request) consumer-secret &optional token-secret)
Generic Reader: verify-uri (object)

Accesses the oauth/verify uri, an optional endpoint to test whether the process completed successfully.

Package

north.

Methods
Reader Method: verify-uri ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

verify-uri.

Generic Writer: (setf verify-uri) (object)
Package

north.

Methods
Writer Method: (setf verify-uri) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

verify-uri.


5.1.5 Standalone methods

Method: initialize-instance :after ((request request) &key)
Source

request.lisp.

Method: make-load-form ((client client) &optional env)
Source

client.lisp.

Method: print-object ((application application) stream)
Source

server.lisp.

Method: print-object ((session session) stream)
Source

server.lisp.


5.1.6 Conditions

Condition: bad-version

An error signalled when the oAuth request specifies a bad version field.

See PARAMETER-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

parameter-error.

Condition: callback-unconfirmed

An error signalled when the provider returns a non-"true" value for the oauth_callback_confirmed key.

See CLIENT-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

client-error.

Condition: client-error

An error signalled when the oAuth client encounters a problem.

See NORTH-CONDITION

Package

north.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: invalid-application

An error signalled when the oauth_consumer_key of the request is invalid or unknown.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.

Condition: invalid-signature

An error signalled when the oAuth signature cannot be verified.
This is most likely due to a bad signing procedure on the client’s behalf, or a disagreement about the tokens and secrets used in the signing process.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.

Condition: invalid-token

An error signalled when the token of the request is invalid or unknown.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.

Condition: invalid-verifier

An error signalled when the verifier of the request is invalid for the associated request token.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.

Condition: nonce-reused

An error signalled when a nonce is used twice within the same timestamp.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.

Condition: north-condition

Base condition class for conditions in the North system.

See REQUEST

Package

north.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods

request.

Direct Default Initargs
InitargValue
:request(error request required.)
Direct slots
Slot: request
Initargs

:request

Readers

request.

Writers

This slot is read-only.

Condition: parameter-error

An error signalled when the parameters given to the provider are incomplete or badly specified. Should end up in an HTTP 400 return code.

See NORTH-CONDITION

Package

north.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: parameters-missing

An error signalled when the oAuth request does not include all the required oAuth parameters.

See PARAMETERS
See PARAMETER-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

parameter-error.

Direct methods

parameters.

Direct Default Initargs
InitargValue
:parameters(error parameters required.)
Direct slots
Slot: parameters
Initargs

:parameters

Readers

parameters.

Writers

This slot is read-only.

Condition: request-failed

An error signalled when a client’s request returned with a non-200 status code.

See BODY
See STATUS-CODE
See HEADERS
See CLIENT-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

client-error.

Direct methods
Direct Default Initargs
InitargValue
:headers(error headers required.)
:status-code(error status-code required.)
:body(error body required.)
Direct slots
Slot: body
Initargs

:body

Readers

body.

Writers

This slot is read-only.

Slot: status-code
Initargs

:status-code

Readers

status-code.

Writers

This slot is read-only.

Slot: headers
Initargs

:headers

Readers

headers.

Writers

This slot is read-only.

Condition: verification-error

An error signalled when the parameters given to the provider fail the verification test. Should end up in an HTTP 401 return code.

See NORTH-CONDITION

Package

north.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: verifier-taken

An error signalled when a verifier token for a request is re-used or the authorization step is repeated for the same request token.

See VERIFICATION-ERROR

Package

north.

Source

conditions.lisp.

Direct superclasses

verification-error.


5.1.7 Classes

Class: application

Container for an OAuth application that provides consumers a means to connect to the provider.

See KEY
See SECRET
See NAME

Package

north.

Source

server.lisp.

Direct methods
Direct Default Initargs
InitargValue
:key(make-nonce)
:secret(make-nonce)
:name(error name required.)
Direct slots
Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: secret
Initargs

:secret

Readers

secret.

Writers

(setf secret).

Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Class: client

An oAuth client class to encapsulate a single connection to a provider.

Contains all the necessary information and state to manage the connection. You may serialise this object into a reloadable form using MAKE-LOAD-FORM. Unless the provider expires access tokens or the token is revoked for some reason or another, the authentication process for a client has to be done only once.

See KEY
See SECRET
See TOKEN
See TOKEN-SECRET
See CALLBACK
See REQUEST-TOKEN-URI
See AUTHORIZE-URI
See ACCESS-TOKEN-URI
See VERIFY-URI
See INITIATE-AUTHENTICATION
See COMPLETE-AUTHENTICATION

Package

north.

Source

client.lisp.

Direct methods
Direct Default Initargs
InitargValue
:key(error key required. this is your oauth application's key.)
:secret(error secret required. this is your oauth application's secret.)
:tokennil
:token-secretnil
:callbackoob
:request-token-uri(error request-token-uri required.)
:authorize-uri(error authorize-uri required.)
:access-token-uri(error access-token-uri required.)
:verify-urinil
Direct slots
Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: secret
Initargs

:secret

Readers

secret.

Writers

(setf secret).

Slot: token
Initargs

:token

Readers

token.

Writers

(setf token).

Slot: token-secret
Initargs

:token-secret

Readers

token-secret.

Writers

(setf token-secret).

Slot: callback
Initargs

:callback

Readers

callback.

Writers

(setf callback).

Slot: request-token-uri
Initargs

:request-token-uri

Readers

request-token-uri.

Writers

(setf request-token-uri).

Slot: authorize-uri
Initargs

:authorize-uri

Readers

authorize-uri.

Writers

(setf authorize-uri).

Slot: access-token-uri
Initargs

:access-token-uri

Readers

access-token-uri.

Writers

(setf access-token-uri).

Slot: verify-uri
Initargs

:verify-uri

Readers

verify-uri.

Writers

(setf verify-uri).

Class: request

Container class to represent an HTTP request.

Upon initialisation a few default oauth parameters are set, if not given already: oauth_nonce Set to (make-nonce)
oauth_signature_method Set to "HMAC-SHA1"
oauth_timestamp Set to (make-timestamp)
oauth_version Set to "1.0"
Additionally, if the headers given include an Authorization header, then the oauth parameters are overridden by the results of DESTRUCTURE-OAUTH-HEADER.

See HTTP-METHOD
See URL
See PARAMETERS
See HEADERS
See OAUTH
See DESTRUCTURE-OAUTH-HEADER

Package

north.

Source

request.lisp.

Direct methods
Direct Default Initargs
InitargValue
:http-methodget
:urlhttp://example.com
:parametersnil
:headersnil
:oauthnil
Direct slots
Slot: http-method
Initargs

:http-method

Readers

http-method.

Writers

(setf http-method).

Slot: url
Initargs

:url

Readers

url.

Writers

(setf url).

Slot: parameters
Initargs

:parameters

Readers

parameters.

Writers

(setf parameters).

Slot: headers
Initargs

:headers

Readers

headers.

Writers

(setf headers).

Slot: oauth
Initargs

:oauth

Readers

oauth.

Writers

(setf oauth).

Class: server

Mixin representing a server class.

Package

north.

Source

server.lisp.

Direct subclasses

simple-server.

Direct methods
Class: session

Session container to represent a connection with a consumer.

See TOKEN
See TOKEN-SECRET
See VERIFIER
See CALLBACK
See KEY
See ACCESS

Package

north.

Source

server.lisp.

Direct methods
Direct Default Initargs
InitargValue
:token(make-nonce)
:token-secret(make-nonce)
:verifier(make-nonce)
:callbackoob
:key(error key required.)
:accessrequest
Direct slots
Slot: token
Initargs

:token

Readers

token.

Writers

(setf token).

Slot: token-secret
Initargs

:token-secret

Readers

token-secret.

Writers

(setf token-secret).

Slot: verifier
Initargs

:verifier

Readers

verifier.

Writers

(setf verifier).

Slot: callback
Initargs

:callback

Readers

callback.

Writers

(setf callback).

Slot: key
Initargs

:key

Readers

key.

Writers

(setf key).

Slot: access
Initargs

:access

Readers

access.

Writers

(setf access).

Class: simple-server

A very primitive and simple sample server implementation that stores everything in mere hash tables.

Do not use this server for your production provider. You should implement
one yourself the provides proper persistence and expiration of the providers,
sessions, and nonces.

See SERVER
See APPLICATIONS
See SESSIONS
See NONCES

Package

north.

Source

server.lisp.

Direct superclasses

server.

Direct methods
Direct slots
Slot: applications
Initform

(make-hash-table :test (quote equal))

Readers

applications.

Writers

(setf applications).

Slot: sessions
Initform

(make-hash-table :test (quote equal))

Readers

sessions.

Writers

(setf sessions).

Slot: nonces
Initform

(make-hash-table :test (quote eql))

Readers

nonces.

Writers

(setf nonces).


5.2 Internals


5.2.1 Special variables

Special Variable: *whitespace*
Package

north.

Source

toolkit.lisp.


5.2.2 Ordinary functions

Function: alist-key (thing)

Turn THING into a string suitable for a property alist.

Symbols get downcased, strings stay as they are, everything else results in a type error.

Package

north.

Source

toolkit.lisp.

Function: check-nonce (request server)
Package

north.

Source

server.lisp.

Function: check-parameters-present (request &rest parameters)
Package

north.

Source

server.lisp.

Function: check-request (request server &key session application)
Package

north.

Source

server.lisp.

Function: check-token (request server &key session)
Package

north.

Source

server.lisp.

Function: check-verifier (request server &key session)
Package

north.

Source

server.lisp.

Function: check-version (request)
Package

north.

Source

server.lisp.

Function: make-signature-base-string (method url params)

Creates a normalized signature base string as follows.

TOKEN ::= METHOD ’&’ URL ’&’ PARAMS
METHOD — The method in uppercase
URL — The url-encoded and normalized URL. PARAMS — The url-encoded and concatenated params.

See URL-ENCODE
See NORMALIZE-URL
See CONCAT-PARAMS

Package

north.

Source

toolkit.lisp.

Function: param< (a b)

Compares two parameters as required by the oauth spec.

If the two keys of the parameters are equal, the values are compared instead. Comparison happens by lexicographic string<. If a key is a symbol it is coerced using ALIST-KEY before comparison.

Package

north.

Source

toolkit.lisp.

Function: remove-param (key alist)

Remove the given key from the alist.

Checks keys STRING-EQUALly and constructs a new alist.

Package

north.

Source

toolkit.lisp.

Function: start-p (start string)

Returns T if START is found at the beginning of STRING.

Package

north.

Source

toolkit.lisp.

Function: url-parts (url)

Splits the given URL into its parts of SCHEME, HOST, PORT, and PATH.

Package

north.

Source

toolkit.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

(
(setf access): Public generic functions
(setf access): Public generic functions
(setf access-token-uri): Public generic functions
(setf access-token-uri): Public generic functions
(setf applications): Public generic functions
(setf applications): Public generic functions
(setf authorize-uri): Public generic functions
(setf authorize-uri): Public generic functions
(setf callback): Public generic functions
(setf callback): Public generic functions
(setf callback): Public generic functions
(setf headers): Public generic functions
(setf headers): Public generic functions
(setf http-method): Public generic functions
(setf http-method): Public generic functions
(setf key): Public generic functions
(setf key): Public generic functions
(setf key): Public generic functions
(setf key): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf nonces): Public generic functions
(setf nonces): Public generic functions
(setf oauth): Public generic functions
(setf oauth): Public generic functions
(setf parameters): Public generic functions
(setf parameters): Public generic functions
(setf pget): Public setf expanders
(setf request-token-uri): Public generic functions
(setf request-token-uri): Public generic functions
(setf secret): Public generic functions
(setf secret): Public generic functions
(setf secret): Public generic functions
(setf sessions): Public generic functions
(setf sessions): Public generic functions
(setf token): Public generic functions
(setf token): Public generic functions
(setf token): Public generic functions
(setf token-secret): Public generic functions
(setf token-secret): Public generic functions
(setf token-secret): Public generic functions
(setf url): Public generic functions
(setf url): Public generic functions
(setf verifier): Public generic functions
(setf verifier): Public generic functions
(setf verify-uri): Public generic functions
(setf verify-uri): Public generic functions

A
access: Public generic functions
access: Public generic functions
access-token-uri: Public generic functions
access-token-uri: Public generic functions
alist->oauth-response: Public ordinary functions
alist-key: Private ordinary functions
application: Public generic functions
application: Public generic functions
applications: Public generic functions
applications: Public generic functions
authorize-uri: Public generic functions
authorize-uri: Public generic functions

B
body: Public generic functions
body: Public generic functions

C
call: Public generic functions
call: Public generic functions
call-signed: Public generic functions
call-signed: Public generic functions
callback: Public generic functions
callback: Public generic functions
callback: Public generic functions
check-nonce: Private ordinary functions
check-parameters-present: Private ordinary functions
check-request: Private ordinary functions
check-token: Private ordinary functions
check-verifier: Private ordinary functions
check-version: Private ordinary functions
complete-authentication: Public generic functions
complete-authentication: Public generic functions
concat-params: Public ordinary functions
create-signature: Public ordinary functions

D
destructure-oauth-header: Public ordinary functions

F
find-nonce: Public generic functions
find-nonce: Public generic functions
find-nonce: Public generic functions
Function, alist->oauth-response: Public ordinary functions
Function, alist-key: Private ordinary functions
Function, check-nonce: Private ordinary functions
Function, check-parameters-present: Private ordinary functions
Function, check-request: Private ordinary functions
Function, check-token: Private ordinary functions
Function, check-verifier: Private ordinary functions
Function, check-version: Private ordinary functions
Function, concat-params: Public ordinary functions
Function, create-signature: Public ordinary functions
Function, destructure-oauth-header: Public ordinary functions
Function, make-nonce: Public ordinary functions
Function, make-request: Public ordinary functions
Function, make-signature-base-string: Private ordinary functions
Function, make-timestamp: Public ordinary functions
Function, normalize-url: Public ordinary functions
Function, oauth-response->alist: Public ordinary functions
Function, param<: Private ordinary functions
Function, pget: Public ordinary functions
Function, remove-param: Private ordinary functions
Function, sort-params: Public ordinary functions
Function, start-p: Private ordinary functions
Function, url-decode: Public ordinary functions
Function, url-encode: Public ordinary functions
Function, url-parts: Private ordinary functions

G
Generic Function, (setf access): Public generic functions
Generic Function, (setf access-token-uri): Public generic functions
Generic Function, (setf applications): Public generic functions
Generic Function, (setf authorize-uri): Public generic functions
Generic Function, (setf callback): Public generic functions
Generic Function, (setf headers): Public generic functions
Generic Function, (setf http-method): Public generic functions
Generic Function, (setf key): Public generic functions
Generic Function, (setf name): Public generic functions
Generic Function, (setf nonces): Public generic functions
Generic Function, (setf oauth): Public generic functions
Generic Function, (setf parameters): Public generic functions
Generic Function, (setf request-token-uri): Public generic functions
Generic Function, (setf secret): Public generic functions
Generic Function, (setf sessions): Public generic functions
Generic Function, (setf token): Public generic functions
Generic Function, (setf token-secret): Public generic functions
Generic Function, (setf url): Public generic functions
Generic Function, (setf verifier): Public generic functions
Generic Function, (setf verify-uri): Public generic functions
Generic Function, access: Public generic functions
Generic Function, access-token-uri: Public generic functions
Generic Function, application: Public generic functions
Generic Function, applications: Public generic functions
Generic Function, authorize-uri: Public generic functions
Generic Function, body: Public generic functions
Generic Function, call: Public generic functions
Generic Function, call-signed: Public generic functions
Generic Function, callback: Public generic functions
Generic Function, complete-authentication: Public generic functions
Generic Function, find-nonce: Public generic functions
Generic Function, headers: Public generic functions
Generic Function, http-method: Public generic functions
Generic Function, initiate-authentication: Public generic functions
Generic Function, key: Public generic functions
Generic Function, make-application: Public generic functions
Generic Function, make-authorized: Public generic functions
Generic Function, make-session: Public generic functions
Generic Function, make-signed: Public generic functions
Generic Function, make-signed-data-request: Public generic functions
Generic Function, make-signed-request: Public generic functions
Generic Function, name: Public generic functions
Generic Function, nonces: Public generic functions
Generic Function, oauth: Public generic functions
Generic Function, oauth/access-token: Public generic functions
Generic Function, oauth/authorize: Public generic functions
Generic Function, oauth/request-token: Public generic functions
Generic Function, oauth/verify: Public generic functions
Generic Function, parameters: Public generic functions
Generic Function, record-nonce: Public generic functions
Generic Function, rehash-session: Public generic functions
Generic Function, request: Public generic functions
Generic Function, request-token-uri: Public generic functions
Generic Function, revoke-application: Public generic functions
Generic Function, revoke-session: Public generic functions
Generic Function, secret: Public generic functions
Generic Function, session: Public generic functions
Generic Function, sessions: Public generic functions
Generic Function, sign: Public generic functions
Generic Function, status-code: Public generic functions
Generic Function, token: Public generic functions
Generic Function, token-secret: Public generic functions
Generic Function, url: Public generic functions
Generic Function, verifier: Public generic functions
Generic Function, verify: Public generic functions
Generic Function, verify-uri: Public generic functions

H
headers: Public generic functions
headers: Public generic functions
headers: Public generic functions
http-method: Public generic functions
http-method: Public generic functions

I
initialize-instance: Public standalone methods
initiate-authentication: Public generic functions
initiate-authentication: Public generic functions

K
key: Public generic functions
key: Public generic functions
key: Public generic functions
key: Public generic functions

M
make-application: Public generic functions
make-application: Public generic functions
make-authorized: Public generic functions
make-authorized: Public generic functions
make-load-form: Public standalone methods
make-nonce: Public ordinary functions
make-request: Public ordinary functions
make-session: Public generic functions
make-session: Public generic functions
make-session: Public generic functions
make-signature-base-string: Private ordinary functions
make-signed: Public generic functions
make-signed: Public generic functions
make-signed-data-request: Public generic functions
make-signed-data-request: Public generic functions
make-signed-request: Public generic functions
make-signed-request: Public generic functions
make-timestamp: Public ordinary functions
Method, (setf access): Public generic functions
Method, (setf access-token-uri): Public generic functions
Method, (setf applications): Public generic functions
Method, (setf authorize-uri): Public generic functions
Method, (setf callback): Public generic functions
Method, (setf callback): Public generic functions
Method, (setf headers): Public generic functions
Method, (setf http-method): Public generic functions
Method, (setf key): Public generic functions
Method, (setf key): Public generic functions
Method, (setf key): Public generic functions
Method, (setf name): Public generic functions
Method, (setf nonces): Public generic functions
Method, (setf oauth): Public generic functions
Method, (setf parameters): Public generic functions
Method, (setf request-token-uri): Public generic functions
Method, (setf secret): Public generic functions
Method, (setf secret): Public generic functions
Method, (setf sessions): Public generic functions
Method, (setf token): Public generic functions
Method, (setf token): Public generic functions
Method, (setf token-secret): Public generic functions
Method, (setf token-secret): Public generic functions
Method, (setf url): Public generic functions
Method, (setf verifier): Public generic functions
Method, (setf verify-uri): Public generic functions
Method, access: Public generic functions
Method, access-token-uri: Public generic functions
Method, application: Public generic functions
Method, applications: Public generic functions
Method, authorize-uri: Public generic functions
Method, body: Public generic functions
Method, call: Public generic functions
Method, call-signed: Public generic functions
Method, callback: Public generic functions
Method, callback: Public generic functions
Method, complete-authentication: Public generic functions
Method, find-nonce: Public generic functions
Method, find-nonce: Public generic functions
Method, headers: Public generic functions
Method, headers: Public generic functions
Method, http-method: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initiate-authentication: Public generic functions
Method, key: Public generic functions
Method, key: Public generic functions
Method, key: Public generic functions
Method, make-application: Public generic functions
Method, make-authorized: Public generic functions
Method, make-load-form: Public standalone methods
Method, make-session: Public generic functions
Method, make-session: Public generic functions
Method, make-signed: Public generic functions
Method, make-signed-data-request: Public generic functions
Method, make-signed-request: Public generic functions
Method, name: Public generic functions
Method, nonces: Public generic functions
Method, oauth: Public generic functions
Method, oauth/access-token: Public generic functions
Method, oauth/authorize: Public generic functions
Method, oauth/request-token: Public generic functions
Method, oauth/verify: Public generic functions
Method, parameters: Public generic functions
Method, parameters: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, record-nonce: Public generic functions
Method, rehash-session: Public generic functions
Method, rehash-session: Public generic functions
Method, request: Public generic functions
Method, request-token-uri: Public generic functions
Method, revoke-application: Public generic functions
Method, revoke-application: Public generic functions
Method, revoke-session: Public generic functions
Method, revoke-session: Public generic functions
Method, secret: Public generic functions
Method, secret: Public generic functions
Method, session: Public generic functions
Method, sessions: Public generic functions
Method, sign: Public generic functions
Method, sign: Public generic functions
Method, sign: Public generic functions
Method, sign: Public generic functions
Method, sign: Public generic functions
Method, status-code: Public generic functions
Method, token: Public generic functions
Method, token: Public generic functions
Method, token-secret: Public generic functions
Method, token-secret: Public generic functions
Method, url: Public generic functions
Method, verifier: Public generic functions
Method, verify: Public generic functions
Method, verify-uri: Public generic functions

N
name: Public generic functions
name: Public generic functions
nonces: Public generic functions
nonces: Public generic functions
normalize-url: Public ordinary functions

O
oauth: Public generic functions
oauth: Public generic functions
oauth-response->alist: Public ordinary functions
oauth/access-token: Public generic functions
oauth/access-token: Public generic functions
oauth/authorize: Public generic functions
oauth/authorize: Public generic functions
oauth/request-token: Public generic functions
oauth/request-token: Public generic functions
oauth/verify: Public generic functions
oauth/verify: Public generic functions

P
param<: Private ordinary functions
parameters: Public generic functions
parameters: Public generic functions
parameters: Public generic functions
pget: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods

R
record-nonce: Public generic functions
record-nonce: Public generic functions
rehash-session: Public generic functions
rehash-session: Public generic functions
rehash-session: Public generic functions
remove-param: Private ordinary functions
request: Public generic functions
request: Public generic functions
request-token-uri: Public generic functions
request-token-uri: Public generic functions
revoke-application: Public generic functions
revoke-application: Public generic functions
revoke-application: Public generic functions
revoke-session: Public generic functions
revoke-session: Public generic functions
revoke-session: Public generic functions

S
secret: Public generic functions
secret: Public generic functions
secret: Public generic functions
session: Public generic functions
session: Public generic functions
sessions: Public generic functions
sessions: Public generic functions
Setf Expander, (setf pget): Public setf expanders
sign: Public generic functions
sign: Public generic functions
sign: Public generic functions
sign: Public generic functions
sign: Public generic functions
sign: Public generic functions
sort-params: Public ordinary functions
start-p: Private ordinary functions
status-code: Public generic functions
status-code: Public generic functions

T
token: Public generic functions
token: Public generic functions
token: Public generic functions
token-secret: Public generic functions
token-secret: Public generic functions
token-secret: Public generic functions

U
url: Public generic functions
url: Public generic functions
url-decode: Public ordinary functions
url-encode: Public ordinary functions
url-parts: Private ordinary functions

V
verifier: Public generic functions
verifier: Public generic functions
verify: Public generic functions
verify: Public generic functions
verify-uri: Public generic functions
verify-uri: Public generic functions


A.3 Variables

Jump to:   *  
A   B   C   H   K   N   O   P   R   S   T   U   V  
Index Entry  Section

*
*external-format*: Public special variables
*whitespace*: Private special variables

A
access: Public classes
access-token-uri: Public classes
applications: Public classes
authorize-uri: Public classes

B
body: Public conditions

C
callback: Public classes
callback: Public classes

H
headers: Public conditions
headers: Public classes
http-method: Public classes

K
key: Public classes
key: Public classes
key: Public classes

N
name: Public classes
nonces: Public classes

O
oauth: Public classes

P
parameters: Public conditions
parameters: Public classes

R
request: Public conditions
request-token-uri: Public classes

S
secret: Public classes
secret: Public classes
sessions: Public classes
Slot, access: Public classes
Slot, access-token-uri: Public classes
Slot, applications: Public classes
Slot, authorize-uri: Public classes
Slot, body: Public conditions
Slot, callback: Public classes
Slot, callback: Public classes
Slot, headers: Public conditions
Slot, headers: Public classes
Slot, http-method: Public classes
Slot, key: Public classes
Slot, key: Public classes
Slot, key: Public classes
Slot, name: Public classes
Slot, nonces: Public classes
Slot, oauth: Public classes
Slot, parameters: Public conditions
Slot, parameters: Public classes
Slot, request: Public conditions
Slot, request-token-uri: Public classes
Slot, secret: Public classes
Slot, secret: Public classes
Slot, sessions: Public classes
Slot, status-code: Public conditions
Slot, token: Public classes
Slot, token: Public classes
Slot, token-secret: Public classes
Slot, token-secret: Public classes
Slot, url: Public classes
Slot, verifier: Public classes
Slot, verify-uri: Public classes
Special Variable, *external-format*: Public special variables
Special Variable, *whitespace*: Private special variables
status-code: Public conditions

T
token: Public classes
token: Public classes
token-secret: Public classes
token-secret: Public classes

U
url: Public classes

V
verifier: Public classes
verify-uri: Public classes


A.4 Data types

Jump to:   A   B   C   D   F   I   N   P   R   S   T   V  
Index Entry  Section

A
application: Public classes

B
bad-version: Public conditions

C
callback-unconfirmed: Public conditions
Class, application: Public classes
Class, client: Public classes
Class, request: Public classes
Class, server: Public classes
Class, session: Public classes
Class, simple-server: Public classes
client: Public classes
client-error: Public conditions
client.lisp: The north-core/client․lisp file
Condition, bad-version: Public conditions
Condition, callback-unconfirmed: Public conditions
Condition, client-error: Public conditions
Condition, invalid-application: Public conditions
Condition, invalid-signature: Public conditions
Condition, invalid-token: Public conditions
Condition, invalid-verifier: Public conditions
Condition, nonce-reused: Public conditions
Condition, north-condition: Public conditions
Condition, parameter-error: Public conditions
Condition, parameters-missing: Public conditions
Condition, request-failed: Public conditions
Condition, verification-error: Public conditions
Condition, verifier-taken: Public conditions
conditions.lisp: The north-core/conditions․lisp file

D
documentation.lisp: The north-core/documentation․lisp file
drakma.lisp: The north-drakma/drakma․lisp file

F
File, client.lisp: The north-core/client․lisp file
File, conditions.lisp: The north-core/conditions․lisp file
File, documentation.lisp: The north-core/documentation․lisp file
File, drakma.lisp: The north-drakma/drakma․lisp file
File, north-core.asd: The north-core/north-core․asd file
File, north-drakma.asd: The north-drakma/north-drakma․asd file
File, north.asd: The north/north․asd file
File, package.lisp: The north-core/package․lisp file
File, request.lisp: The north-core/request․lisp file
File, server.lisp: The north-core/server․lisp file
File, toolkit.lisp: The north-core/toolkit․lisp file

I
invalid-application: Public conditions
invalid-signature: Public conditions
invalid-token: Public conditions
invalid-verifier: Public conditions

N
nonce-reused: Public conditions
north: The north system
north: The north package
north-condition: Public conditions
north-core: The north-core system
north-core.asd: The north-core/north-core․asd file
north-drakma: The north-drakma system
north-drakma.asd: The north-drakma/north-drakma․asd file
north.asd: The north/north․asd file

P
Package, north: The north package
package.lisp: The north-core/package․lisp file
parameter-error: Public conditions
parameters-missing: Public conditions

R
request: Public classes
request-failed: Public conditions
request.lisp: The north-core/request․lisp file

S
server: Public classes
server.lisp: The north-core/server․lisp file
session: Public classes
simple-server: Public classes
System, north: The north system
System, north-core: The north-core system
System, north-drakma: The north-drakma system

T
toolkit.lisp: The north-core/toolkit․lisp file

V
verification-error: Public conditions
verifier-taken: Public conditions