Next: , Previous: , Up: Top   [Contents][Index]


7 Client manifest

To make sure that a client application is legitimate, it is mandated that it serves a public document under its ID URI, and that document should confirm the URI and the redirection URI, where the client application gets the authorization code.

Class: <client-manifest> () client-id redirect-uris

This is the class encapsulating a very basic client manifest. client-id is an URI, and redirect-uris is a list of URIs.

You can construct one by providing both #:client-id and #:redirect-uris, or by providing only #:client-id, in which case it will be downloaded from the web.

Clients that cannot serve pages should use the anonymous client ID, that accepts all redirect URIs.

Generic: client-id manifest

Return the client ID of manifest.

Generic: redirect-uris manifest

Return the list of accepted redirection URIs for manifest.

Generic: ->json-data manifest

Convert manifest to JSON data (alists for objects, vectors for arrays). You should override this method if you design an extended client manifest class.

Generic: check-redirect-uri manifest uri

Check that manifest controls uri, where to send the authorization code. Raises an exception if that’s not the case.

Exception type: &invalid-client-manifest

This exception is raised when the client manifest is invalid.

function: make-invalid-client-manifest

Constructor for the &invalid-client-manifest exception type.

function: invalid-client-manifest? exception

Check whether exception was raised because of an invalid client manifest.

Exception type: &unauthorized-redirect-uri

This exception is raised when the requested authorization URI is unauthorized.

function: make-unauthorized-redirect-uri

Constructor for the &unauthorized-redirect-uri exception type.

function: unauthorized-redirect-uri? exception

Check whether exception was raised because of an unauthorized redirection URI.

Exception type: &inconsistent-client-manifest

This exception is raised when the client ID does not match what the client manifest says.

function: make-inconsistent-client-manifest

Constructor for the &inconsistent-client-manifest exception type.

function: inconsistent-client-manifest? exception

Check whether exception was raised because of an inconsistent client manifest.

Exception type: &cannot-serve-public-manifest

This exception is raised when the manifest to serve has the public client URI as ID.

function: make-cannot-serve-public-manifest

Constructor for the &cannot-serve-public-manifest exception type.

function: cannot-serve-public-manifest? exception

Check whether exception was raised because the server wants to serve a public manifest.

Exception type: &cannot-fetch-client-manifest

This exception is raised when the server does not behave correctly when fetching the manifest.

function: make-cannot-fetch-client-manifest

Constructor for the &cannot-fetch-client-manifest exception type.

function: cannot-fetch-client-manifest? exception

Check whether exception was raised because we could not fetch a client manifest.


Next: , Previous: , Up: Top   [Contents][Index]