'Persist the authorization_code.
The code should at minimum be stored with:
- the client_id (client_id)
- the redirect URI used (request.redirect_uri)
- a resource owner / user (request.user)
- the authorized scopes (request.scopes)
- the client state, if given (code.get(\'state\'))
The \'code\' argument is actually a dictionary, containing at least a
\'code\' key with the actual authorization code:
{\'code\': \'sdf345jsdf0934f\'}
It may also have a \'state\' key containing a nonce for the client, if it
chose to send one.  That value should be saved and used in
\'validate_code\'.
:param client_id: Unicode client identifier
:param code: A dict of the authorization code grant and, optionally, state.
:param request: The HTTP Request (oauthlib.common.Request)
Method is used by:
- Authorization Code Grant'

def save_authorization_code(self, client_id, code, request, *args, **kwargs):

    raise NotImplementedError(u'Subclasses    must    implement    this    method.')
