anchor.diff:    (format nil "potatonorthapplication-~a" key))
   
   (defmethod north:make-application ((server potato-north-server) &key name)
  -  (let ((app (make-instance 'potato-north-application :name name)))
  +  (let ((app (make-instance 'potato-north-application
  +                            :key (make-nonce)
  +                            :secret (make-nonce)
  +                            :name name)))
       (clouchdb:create-document `((:|key|    . ,(north:key app))
                                   (:|secret| . ,(north:secret app))
                                   (:|name|   . ,(north:name app))
  
positive.code: 
  (defmethod north:make-session ((server potato-north-server) application callback &key (access nil access-set-p))
    (let ((session (apply #'make-instance 'oauth-session
                          :key (north:key application) :callback callback
                          (if access-set-p (list :access access)))))
      (clouchdb:create-document `((:|token|        . ,(north:token session))
                                  (:|token_secret| . ,(north:token-secret session))
  
negative.code:   )
  
  (defmethod north:revoke-application ((server potato-north-server) application-key)
    (clouchdb:delete-document (make-potato-north-application-id application-key)))
  
  (defmethod north:revoke-session ((server potato-north-server) token)
    (clouchdb:delete-document (make-potato-north-oauth-session-id token)))
  
  ;;; TODO: The below two methods needs to be implemented in order to
  ;;; prevent mitm attacks. This will be implemented using a separate
  ;;; service.
  
  (defmethod north:record-nonce ((server potato-north-server) timestamp nonce)
    nil)
  
  (defmethod north:find-nonce ((server potato-north-server) timestamp nonce)
    nil)
  
  (defvar *server* (make-instance 'potato-north-server))
  
  