Metadata-Version: 2.1
Name: Flask-KeyVault
Version: 0.5.0
Summary: Flask extension to read and write secrets from Azure Key Vault
Home-page: https://github.com/erikhoward/flask-keyvault
Author: Erik Howard
Author-email: erikhoward@protonmail.com
License: MIT
Keywords: flask,azure,keyvault,secrets
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: Flask
Requires-Dist: azure-keyvault

# Flask-KeyVault


A Flask extension to read and write secrets using [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/).

## Installation

```bash
$ pip install Flask-KeyVault
```
## Usage
```python
import os

from flask import Flask

from flask_keyvault import AzureKeyVault
from flask_keyvault.exceptions import KeyVaultAuthenticationError

demo = Flask(__name__)

demo.config.update(
    AZURE_CLIENT_ID = os.getenv('AZURE_CLIENT_ID','YOUR-AZURE_CLIENT_ID'),
    AZURE_SECRET = os.getenv('AZURE_SECRET', 'YOUR-AZURE-SECRET'),
    AZURE_TENANT = os.getenv('AZURE_TENANT', 'YOUR-AZURE-TENANT')
)

keyvault = AzureKeyVault()
keyvault.init_app(demo)

key_vault_url = 'https://mykeyvault.vault.azure.net/'

@demo.route('/')
def index():

    try:
        my_secret = keyvault.get(key_vault_url, "my_secret", 1)
        return my_secret
    except KeyVaultAuthenticationError:
        return "authentication error"

demo.run(debug=True)
```

## Contributing
Questions, comments or improvements, please create an issue on [Github](https://github.com/erikhoward/flask-keyvault/issues).

To suggest a change to the code or documentation, please create a new pull request on GitHub. Also, please squash multiple commits into a single commit in your pull request by rebasing onto the master branch.

## License
Flask-KeyVault is licensed under the [MIT](LICENSE) license.

## Contact
Erik Howard [erikhoward@protonmail.com](mailto:erikhoward@protonmail.com), [@erik_howard](https://www.twitter.com/erik_howard).


