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


16 Exceptional conditions

The library will raise an exception whenever something fishy occurs. For instance, if a signature is invalid, or the expiration date has passed.

When the client is responsible for an error, such as presenting an invalid access token, a compound exception is raised. It is sometimes useful for the user to understand what happened, because it could indicate a problem in a part of the web they need to change. For instance, if the access token cannot be decoded because the identity provider is down, then maybe informing the user of that fact is useful.

However, presenting too much information is a security risk. For instance, if the system administrator also runs a private server on the same machine, and a malicious client tries to pretend that this private server is an identity provider, then the public server will try to query the private server. If an error happens and the public server displays some information to the client, then a part of the information comes from the private server. Thus, a balance needs to be found so that not too much is revealed.

The module (webid-oidc errors) defines an exception type that indicates a message that is safe to display to the user.

Exception type: &message-for-the-user message

Indicate that message can be safely displayed to the user. It is an XHTML paragraph (or equivalent), presented as SXML.

function: make-message-for-the-user message
user-message: exception

Constructor and accessor for the &message-for-the-user exception type.