Skip to content

Commit 08b20d4

Browse files
authored
Merge pull request #21 from AzureAD/release-0.2.0
Release 0.2.0
2 parents 2cff78f + 834fe8c commit 08b20d4

20 files changed

+690
-119
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ as applications written using a preview version of library may no longer work.
2727

2828
1. If you haven't already, [install and/or upgrade the pip](https://pip.pypa.io/en/stable/installing/)
2929
of your Python environment to a recent version. We tested with pip 18.1.
30-
2. For now, you can install from our latest dev branch, by `pip install git+https://github.com/AzureAD/microsoft-authentication-library-for-python.git@dev`
30+
2. As usual, just run `pip install msal`.
3131

3232
## Usage
3333

@@ -45,7 +45,7 @@ Acquiring tokens with MSAL Python need to follow this 3-step pattern.
4545
from msal import PublicClientApplication
4646
app = PublicClientApplication("your_client_id", authority="...")
4747
```
48-
48+
4949
Later, each time you would want an access token, you start by:
5050
```python
5151
result = None # It is just an initial value. Please follow instructions below.
@@ -97,7 +97,7 @@ and
9797
[Auth protocols](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols)
9898
are recommended reading.
9999

100-
The API reference of MSAL Python is coming soon.
100+
There is also the [API reference of MSAL Python](https://msal-python.rtfd.io).
101101

102102
You can try [runnable samples in this repo](https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample).
103103

docs/Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
SOURCEDIR = .
8+
BUILDDIR = _build
9+
10+
# Put it first so that "make" without argument is like "make help".
11+
help:
12+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13+
14+
.PHONY: help Makefile
15+
16+
# Catch-all target: route all unknown targets to Sphinx using the new
17+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18+
%: Makefile
19+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/conf.py

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# Configuration file for the Sphinx documentation builder.
4+
#
5+
# This file does only contain a selection of the most common options. For a
6+
# full list see the documentation:
7+
# http://www.sphinx-doc.org/en/master/config
8+
9+
# -- Path setup --------------------------------------------------------------
10+
11+
# If extensions (or modules to document with autodoc) are in another directory,
12+
# add these directories to sys.path here. If the directory is relative to the
13+
# documentation root, use os.path.abspath to make it absolute, like shown here.
14+
#
15+
# import os
16+
# import sys
17+
# sys.path.insert(0, os.path.abspath('.'))
18+
19+
20+
# -- Project information -----------------------------------------------------
21+
22+
project = u'MSAL Python'
23+
copyright = u'2018, Microsoft'
24+
author = u'Microsoft'
25+
26+
# The short X.Y version
27+
from msal import __version__ as version
28+
# The full version, including alpha/beta/rc tags
29+
release = version
30+
31+
32+
# -- General configuration ---------------------------------------------------
33+
34+
# If your documentation needs a minimal Sphinx version, state it here.
35+
#
36+
# needs_sphinx = '1.0'
37+
38+
# Add any Sphinx extension module names here, as strings. They can be
39+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
40+
# ones.
41+
extensions = [
42+
'sphinx.ext.autodoc',
43+
'sphinx.ext.githubpages',
44+
]
45+
46+
# Add any paths that contain templates here, relative to this directory.
47+
templates_path = ['_templates']
48+
49+
# The suffix(es) of source filenames.
50+
# You can specify multiple suffix as a list of string:
51+
#
52+
# source_suffix = ['.rst', '.md']
53+
source_suffix = '.rst'
54+
55+
# The master toctree document.
56+
master_doc = 'index'
57+
58+
# The language for content autogenerated by Sphinx. Refer to documentation
59+
# for a list of supported languages.
60+
#
61+
# This is also used if you do content translation via gettext catalogs.
62+
# Usually you set "language" from the command line for these cases.
63+
language = None
64+
65+
# List of patterns, relative to source directory, that match files and
66+
# directories to ignore when looking for source files.
67+
# This pattern also affects html_static_path and html_extra_path.
68+
exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store']
69+
70+
# The name of the Pygments (syntax highlighting) style to use.
71+
pygments_style = None
72+
73+
74+
# -- Options for HTML output -------------------------------------------------
75+
76+
# The theme to use for HTML and HTML Help pages. See the documentation for
77+
# a list of builtin themes.
78+
#
79+
# html_theme = 'alabaster'
80+
html_theme = 'sphinx_rtd_theme'
81+
82+
# Theme options are theme-specific and customize the look and feel of a theme
83+
# further. For a list of options available for each theme, see the
84+
# documentation.
85+
#
86+
# html_theme_options = {}
87+
88+
# Add any paths that contain custom static files (such as style sheets) here,
89+
# relative to this directory. They are copied after the builtin static files,
90+
# so a file named "default.css" will overwrite the builtin "default.css".
91+
html_static_path = ['_static']
92+
93+
# Custom sidebar templates, must be a dictionary that maps document names
94+
# to template names.
95+
#
96+
# The default sidebars (for documents that don't match any pattern) are
97+
# defined by theme itself. Builtin themes are using these templates by
98+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
99+
# 'searchbox.html']``.
100+
#
101+
# html_sidebars = {}
102+
103+
104+
# -- Options for HTMLHelp output ---------------------------------------------
105+
106+
# Output file base name for HTML help builder.
107+
htmlhelp_basename = 'MSALPythondoc'
108+
109+
110+
# -- Options for LaTeX output ------------------------------------------------
111+
112+
latex_elements = {
113+
# The paper size ('letterpaper' or 'a4paper').
114+
#
115+
# 'papersize': 'letterpaper',
116+
117+
# The font size ('10pt', '11pt' or '12pt').
118+
#
119+
# 'pointsize': '10pt',
120+
121+
# Additional stuff for the LaTeX preamble.
122+
#
123+
# 'preamble': '',
124+
125+
# Latex figure (float) alignment
126+
#
127+
# 'figure_align': 'htbp',
128+
}
129+
130+
# Grouping the document tree into LaTeX files. List of tuples
131+
# (source start file, target name, title,
132+
# author, documentclass [howto, manual, or own class]).
133+
latex_documents = [
134+
(master_doc, 'MSALPython.tex', u'MSAL Python Documentation',
135+
u'Microsoft', 'manual'),
136+
]
137+
138+
139+
# -- Options for manual page output ------------------------------------------
140+
141+
# One entry per manual page. List of tuples
142+
# (source start file, name, description, authors, manual section).
143+
man_pages = [
144+
(master_doc, 'msalpython', u'MSAL Python Documentation',
145+
[author], 1)
146+
]
147+
148+
149+
# -- Options for Texinfo output ----------------------------------------------
150+
151+
# Grouping the document tree into Texinfo files. List of tuples
152+
# (source start file, target name, title, author,
153+
# dir menu entry, description, category)
154+
texinfo_documents = [
155+
(master_doc, 'MSALPython', u'MSAL Python Documentation',
156+
author, 'MSALPython', 'One line description of project.',
157+
'Miscellaneous'),
158+
]
159+
160+
161+
# -- Options for Epub output -------------------------------------------------
162+
163+
# Bibliographic Dublin Core info.
164+
epub_title = project
165+
166+
# The unique identifier of the text. This can be a ISBN number
167+
# or the project homepage.
168+
#
169+
# epub_identifier = ''
170+
171+
# A unique identification for the text.
172+
#
173+
# epub_uid = ''
174+
175+
# A list of files that should not be packed into the epub file.
176+
epub_exclude_files = ['search.html']
177+
178+
179+
# -- Extension configuration -------------------------------------------------

docs/index.rst

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
.. MSAL Python documentation master file, created by
2+
sphinx-quickstart on Tue Dec 18 10:53:22 2018.
3+
You can adapt this file completely to your liking, but it should at least
4+
contain the root `toctree` directive.
5+
6+
.. This file is also inspired by
7+
https://pythonhosted.org/an_example_pypi_project/sphinx.html#full-code-example
8+
9+
Welcome to MSAL Python's documentation!
10+
=======================================
11+
12+
.. toctree::
13+
:maxdepth: 2
14+
:caption: Contents:
15+
16+
You can find high level conceptual documentations in the project
17+
`README <https://github.com/AzureAD/microsoft-authentication-library-for-python>`_
18+
and
19+
`workable samples inside the project code base
20+
<https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample>`_
21+
.
22+
23+
The documentation hosted here is for API Reference.
24+
25+
26+
PublicClientApplication and ConfidentialClientApplication
27+
=========================================================
28+
29+
MSAL proposes a clean separation between
30+
`public client applications and confidential client applications
31+
<https://tools.ietf.org/html/rfc6749#section-2.1>`_.
32+
33+
They are implemented as two separated classes,
34+
with different methods for different authentication scenarios.
35+
36+
PublicClientApplication
37+
-----------------------
38+
.. autoclass:: msal.PublicClientApplication
39+
:members:
40+
41+
ConfidentialClientApplication
42+
-----------------------------
43+
.. autoclass:: msal.ConfidentialClientApplication
44+
:members:
45+
46+
47+
Shared Methods
48+
--------------
49+
Both PublicClientApplication and ConfidentialClientApplication
50+
have following methods inherited from their base class.
51+
You typically do not need to initiate this base class, though.
52+
53+
.. autoclass:: msal.ClientApplication
54+
:members:
55+
56+
.. automethod:: __init__
57+
58+
59+
TokenCache
60+
==========
61+
62+
One of the parameter accepted by
63+
both `PublicClientApplication` and `ConfidentialClientApplication`
64+
is the `TokenCache`.
65+
66+
.. autoclass:: msal.TokenCache
67+
:members:
68+
69+
You can subclass it to add new behavior, such as, token serialization.
70+
See `SerializableTokenCache` for example.
71+
72+
.. autoclass:: msal.SerializableTokenCache
73+
:members:
74+
75+
76+
Indices and tables
77+
==================
78+
79+
* :ref:`genindex`
80+
* :ref:`search`
81+

docs/make.bat

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@ECHO OFF
2+
3+
pushd %~dp0
4+
5+
REM Command file for Sphinx documentation
6+
7+
if "%SPHINXBUILD%" == "" (
8+
set SPHINXBUILD=sphinx-build
9+
)
10+
set SOURCEDIR=.
11+
set BUILDDIR=_build
12+
13+
if "%1" == "" goto help
14+
15+
%SPHINXBUILD% >NUL 2>NUL
16+
if errorlevel 9009 (
17+
echo.
18+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19+
echo.installed, then set the SPHINXBUILD environment variable to point
20+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
21+
echo.may add the Sphinx directory to PATH.
22+
echo.
23+
echo.If you don't have Sphinx installed, grab it from
24+
echo.http://sphinx-doc.org/
25+
exit /b 1
26+
)
27+
28+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
29+
goto end
30+
31+
:help
32+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
33+
34+
:end
35+
popd

0 commit comments

Comments
 (0)