Skip to content

Commit 9b32cef

Browse files
authored
Update README.md
1 parent 1c46359 commit 9b32cef

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

README.md

+14-12
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ This repository contains a set of code that is shared amongst the various Python
55
## Features
66

77
The code present makes available or aims to make available the following features to the developers:
8-
- Allow for (but not require) automatic Flask/Django/other framework integration (implemented for flask)
9-
- Allow for (but not require) automatic endpoint protection (implemented for flask)
8+
- Allow for (but not require) automatic Flask/Django/other framework integration (implemented)
9+
- Allow for (but not require) automatic endpoint protection (implemented)
1010
- Catch AAD errors and handle them properly, e.g.:
1111
- password reset flow and edit profile flow (implemented)
1212
- insufficient / incremental consent (needs implementation)
1313
- Token cache handling (implemeted)
1414
- authN enforcement by decorator (implemented)
1515
- Allow multiple identity sessions per user browser session (i.e., multiple logged in users in one browser session) (not yet implemented)
16-
- Abstract authN and authZ implementation details away from developer
16+
- Abstract authN and authZ implementation details away from developer (implemented)
1717
- authZ enforcement by decorator (not yet implented)
1818

1919
## Getting Started
@@ -22,7 +22,7 @@ The code present makes available or aims to make available the following feature
2222

2323
- Python 3.8
2424
- A virtual env for your own webapp project
25-
- A flask project (currently implemented) or other web framework (not yet implemented) or desktop app (not yet implemented)
25+
- A flask project or django project (impelemented) or other web framework (not yet implemented) or desktop app (not yet implemented)
2626

2727
### Installation
2828

@@ -59,16 +59,16 @@ pip install -r requirements.txt
5959
Use **only one** of the following two options:
6060
- via https://
6161
```
62-
pip install git+https://github.com/azure-samples/ms-identity-python-utilities.git@idgsam
62+
pip install git+https://github.com/azure-samples/ms-identity-python-samples-common
6363
```
6464
- via ssh://
6565
```
66-
pip install git+ssh://[email protected]/azure-samples/ms-identity-python-utilities.git@idgsam
66+
pip install git+ssh://[email protected]/azure-samples/ms-identity-python-samples-common
6767
```
6868

6969
##### 3. copy a config template (e.g. `aad.config.json`) from the repo and in to your project root dir, and fill in the details
7070

71-
### Quickstart
71+
### Quickstart (Flask)
7272

7373

7474
don't forget to import the required modules into your application as necessary:
@@ -94,21 +94,23 @@ def my_protected_route():
9494

9595
## Demo
9696

97-
see: https://github.com/azure-samples/ms-identity-b2c-python-flask-webapp-authentication/tree/idgsam (@ idgsam branch) for a demo
97+
see: https://github.com/azure-samples/ms-identity-python-flask-tutorial or https://github.com/azure-samples/ms-identity-python-django-tutorial for a demo with any of the apps there
9898

9999
## Project Structure
100100
#### __init__.py
101101
- main common code API is here.
102102
#### adapters.py
103103
- FlaskContextAdapter for handling interaction between the API and flask context (e.g. session, request)
104104
- An ABC defining the interface for writing more adapters
105-
- Django adapter will go here.
106105
- Should be re-organised into folders on a per-framework basis?
107106
#### flask_blueprint
108-
- a class that implemets all aad-specific endpoints. support for multiple instances with different prefixes if necessary
107+
- a class that implements all aad-specific endpoints. support for multiple instances with different prefixes if necessary
109108
- all bindings are automatic with flaskcontextadapter
110-
#### blueprint-like functionality for django (`reusable django app`)
111-
- not yet implemented
109+
#### django adapter
110+
- `django.adapter` is used to integrate with Django apps
111+
- need to use `django.middleware` as middleware in Django apps
112+
#### django endpoints
113+
- `django.msal_views_and_urls.py` implements all aad-specific endpoints. support for multiple instances with different prefixes if necessary
112114
#### context.py
113115
- IdentityContext class that holds ID-specific info (simple class with attributes and has_changed function for write-to-session decision)
114116
#### configuration.py

0 commit comments

Comments
 (0)