def __init__(self, authorization_callback=None, credentials=None):
if not authorization_callback and not credentials:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>self._credentials = credentials<EOL>if not authorization_callback:<EOL><INDENT>def auth_callback(server, resource, scope, scheme):<EOL><INDENT>if self._credentials.resource != resource:<EOL><INDENT>self._credentials.resource = resource<EOL>self._credentials.set_token()<EOL><DEDENT>token = self._credentials.token<EOL>return AccessToken(scheme=token['<STR_LIT>'], token=token['<STR_LIT>'], key=None)<EOL><DEDENT>authorization_callback = auth_callback<EOL><DEDENT>self.auth = KeyVaultAuthBase(authorization_callback)<EOL>self._callback = authorization_callback<EOL>
Creates a new KeyVaultAuthentication instance used for authentication in the KeyVaultClient
:param authorization_callback: A callback used to provide authentication credentials to the key vault data service.  
This callback should take three str arguments: authorization uri, resource, and scope, and return 
a tuple of (token type, access token).
:param credentials:: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
 object<msrestazure.azure_active_directory>`