This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
authentic2-auth-msp/README

62 lines
2.0 KiB
Plaintext
Raw Normal View History

2014-11-21 18:29:59 +01:00
authentic2-auth-msp
===================
2014-11-21 18:29:59 +01:00
Authentic2 plugin to authenticate against *mon.service-public.fr* the french
citizen portal.
add msp integration application Requirements ============ Your base template must use django-sekizai and must contain a sekizai block named "css" and another named "js" respectively for stylesheet and javascript files. Installation ============ Add the application to your installed apps:: INSTALLED_APPS += ( 'msp', ) Install the authentication backend:: AUTHENTICATION_BACKENDS += ( 'msp.backends.MspBackend', ) Define needed settings, we show here the default values:: MSP_AUTHORIZE_URL = 'https://mon.service-public.fr/apis/app/oauth/authorize' MSP_TOKEN_URL = 'https://mon.service-public.fr/apis/app/oauth/token' MSP_API_URL = 'https://mon.service-public.fr/apis/' MSP_CLIENT_ID = 'id assigned by DIMAP' MSP_CLIENT_SECRET = 'secret assigned by DIMAP' MSP_CLIENT_CERTIFICATE = ('/my-path/my-certificate.crt', '/my-path/my-certificate.key') MSP_VERIFY_CERTIFICATE = False You must plug the application views in your urls.py file by adding this content:: url(r'^msp/', include('msp.urls')), To link your account to MSP or unlink your account from MSP, add the following content to your template:: {% include 'msp/linking.html' %} It will show a linking link when unauthenticated and when no msp account is linked to the current account or an unlinking link when authenticated and a to MSP exists. To show a connection box include this content in your template:: {% include 'msp/connecting.html' %} To make the include file use a popup to talk to MSP add the popup parameter like in the following content:: {% include 'msp/connecting.html' with popup=1 %}
2013-10-11 17:33:20 +02:00
Installation
============
2014-11-21 18:29:59 +01:00
- Install with `pip install authentic2-auth-msp`
- Add `A2_MSP_ENABLED = True` to your `local_settings.py` file
- Define the needed parameters::
add msp integration application Requirements ============ Your base template must use django-sekizai and must contain a sekizai block named "css" and another named "js" respectively for stylesheet and javascript files. Installation ============ Add the application to your installed apps:: INSTALLED_APPS += ( 'msp', ) Install the authentication backend:: AUTHENTICATION_BACKENDS += ( 'msp.backends.MspBackend', ) Define needed settings, we show here the default values:: MSP_AUTHORIZE_URL = 'https://mon.service-public.fr/apis/app/oauth/authorize' MSP_TOKEN_URL = 'https://mon.service-public.fr/apis/app/oauth/token' MSP_API_URL = 'https://mon.service-public.fr/apis/' MSP_CLIENT_ID = 'id assigned by DIMAP' MSP_CLIENT_SECRET = 'secret assigned by DIMAP' MSP_CLIENT_CERTIFICATE = ('/my-path/my-certificate.crt', '/my-path/my-certificate.key') MSP_VERIFY_CERTIFICATE = False You must plug the application views in your urls.py file by adding this content:: url(r'^msp/', include('msp.urls')), To link your account to MSP or unlink your account from MSP, add the following content to your template:: {% include 'msp/linking.html' %} It will show a linking link when unauthenticated and when no msp account is linked to the current account or an unlinking link when authenticated and a to MSP exists. To show a connection box include this content in your template:: {% include 'msp/connecting.html' %} To make the include file use a popup to talk to MSP add the popup parameter like in the following content:: {% include 'msp/connecting.html' with popup=1 %}
2013-10-11 17:33:20 +02:00
MSP_CLIENT_ID = 'id assigned by DIMAP'
MSP_CLIENT_SECRET = 'secret assigned by DIMAP'
MSP_CLIENT_CERTIFICATE = ('/my-path/my-certificate.crt', '/my-path/my-certificate.key')
MSP_VERIFY_CERTIFICATE = False
2014-11-21 18:29:59 +01:00
Test
====
When testing agains the test platform of mon.service-public.fr you must change
the default endpoints URL in your `local_settings.py` file::
add msp integration application Requirements ============ Your base template must use django-sekizai and must contain a sekizai block named "css" and another named "js" respectively for stylesheet and javascript files. Installation ============ Add the application to your installed apps:: INSTALLED_APPS += ( 'msp', ) Install the authentication backend:: AUTHENTICATION_BACKENDS += ( 'msp.backends.MspBackend', ) Define needed settings, we show here the default values:: MSP_AUTHORIZE_URL = 'https://mon.service-public.fr/apis/app/oauth/authorize' MSP_TOKEN_URL = 'https://mon.service-public.fr/apis/app/oauth/token' MSP_API_URL = 'https://mon.service-public.fr/apis/' MSP_CLIENT_ID = 'id assigned by DIMAP' MSP_CLIENT_SECRET = 'secret assigned by DIMAP' MSP_CLIENT_CERTIFICATE = ('/my-path/my-certificate.crt', '/my-path/my-certificate.key') MSP_VERIFY_CERTIFICATE = False You must plug the application views in your urls.py file by adding this content:: url(r'^msp/', include('msp.urls')), To link your account to MSP or unlink your account from MSP, add the following content to your template:: {% include 'msp/linking.html' %} It will show a linking link when unauthenticated and when no msp account is linked to the current account or an unlinking link when authenticated and a to MSP exists. To show a connection box include this content in your template:: {% include 'msp/connecting.html' %} To make the include file use a popup to talk to MSP add the popup parameter like in the following content:: {% include 'msp/connecting.html' with popup=1 %}
2013-10-11 17:33:20 +02:00
You must plug the application views in your urls.py file by adding this
content::
2014-11-21 18:29:59 +01:00
MSP_AUTHORIZE_URL = 'https://mon.service-public.fr/apis/app/oauth/authorize'
MSP_TOKEN_URL = 'https://mon.service-public.fr:2443/apis/app/oauth/token'
MSP_API_URL = 'https://mon.service-public.fr:2443/apis/'
MSP Gateway
===========
2014-11-21 18:29:59 +01:00
If you want to use the OAuth2 proxy to share the access to MSP apis, you must
user a shared cache backend: through memcached, redis or the ORM. For
example if you have a memcached installed just add the following fragment to
your settings::
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
If you want a specific cache backend for the MSP plugin, use the `msp` name
for your cache instead of `default`.
The msp application also provides an OAuth2 gateway to MSP. To configure it your
just need to provider a list of client_id, client_secret pairs in your
settings, like that::
MSP_CLIENT_CREDENTIALS = (('client_id1', 'client_secret1'),)
2014-11-21 18:29:59 +01:00
The following URL are provided:
- /msp/authorize : like the authorize URL of MSP
- /msp/access_token : like the access_token URL of MSP
- /msp/documents/ : like the document list REST API endpoint of MSP
- /msp/documents/<id>/ : like the document retrieval REST API endpoint of MSP