Skip to content

Commit ab848de

Browse files
committed
awslabs#33 updated documentation of plug-in support
1 parent 33611ac commit ab848de

File tree

3 files changed

+63
-3
lines changed

3 files changed

+63
-3
lines changed

MANIFEST.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
include CONTRIBUTING.rst
22
include CHANGELOG.rst
33
include LICENSE
4-
include README.rst
4+
include PLUGINS.rst
5+
include README.rst

PLUGINS.rst

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
========================================
2+
AWS Process Credential Providers Plug-in
3+
========================================
4+
5+
.. image:: https://travis-ci.org/awslabs/awsprocesscreds.svg?branch=master
6+
:target: https://travis-ci.org/awslabs/awsprocesscreds
7+
8+
9+
This document covers what is is to be a SAML provider plug-in.
10+
11+
Generally, a plug-in refers to any class registered to the entry point group
12+
'saml_form_authenticators' and which also conforms to the SAMLAuthenticator
13+
interface. See Requirements for more constraints.
14+
15+
Example:
16+
17+
entry_points={
18+
'saml_form_authenticators': [
19+
'example = plugin.example:ExampleFormsBasedAuthenticator',
20+
}
21+
22+
For reference, the file setup.py in this project registers both default
23+
providers as plug-ins.
24+
25+
26+
General Plug-in Overview
27+
------------------------
28+
29+
At runtime, all registered plug-in names retrieved using pkg_resources will be
30+
matched against the user supplied value for -p (--provider). An exact match
31+
will instatiate that class, no match will throw an unspupported error.
32+
33+
Inheritance from SAMLAuthenticator is not required.
34+
35+
36+
Requirements
37+
------------
38+
39+
Generally this assume an installed module.
40+
41+
* Plug-in has an entry point registered under group 'saml_form_authenticators'
42+
* Class implements the awsprocesscreds.saml:SAMLAuthenticator specification
43+
44+
45+
Futher Information
46+
------------------
47+
48+
Both of the SAML authenticators shipped with the product utilize the plug-in
49+
loading process. If you are looking at how to implement one to support your
50+
own business requirements then it is suggested to review both those classes.

README.rst

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ arguments:
4141

4242
* ``-e / --endpoint`` - Your SAML idp endpoint.
4343
* ``-u / --username`` - Your SAML username.
44-
* ``-p / --provider`` - The name of your SAML provider. Currently okta and
45-
adfs are supported.
44+
* ``-p / --provider`` - The name of your SAML provider plug-in. Default
45+
support includes 'okta' and 'adfs', both form-based auth.
4646
* ``-a / --role-arn``- The role arn you wish to assume. Your SAML provider
4747
must be configured to give you access to this arn.
4848

@@ -73,6 +73,15 @@ Example adfs configuration::
7373
.. _AWS CLI Config docs: http://docs.aws.amazon.com/cli/latest/topic/config-vars.html#cli-aws-help-config-vars
7474

7575

76+
Plug-in Support
77+
---------------
78+
79+
In cases where you have your own SAML requirements, there is a provided plug-in
80+
architecture to supplement the the default okta and adfs implementations.
81+
82+
See the PLUGINS documentation in the root of this project.
83+
84+
7685
Custom Providers
7786
----------------
7887

0 commit comments

Comments
 (0)