API Reference¶
Flask-Micropub¶
This extension adds the ability to login to a Flask-based website using [IndieAuth](https://indiewebcamp.com/IndieAuth), and to request an [Micropub](https://indiewebcamp.com/Micropub) access token.
-
class
flask_micropub.
AuthResponse
(me=None, micropub_endpoint=None, access_token=None, state=None, scope=None, error=None)[source]¶ Authorization response, passed to the authorized_handler endpoint.
-
me
¶ string – The authenticated user’s URL. This will be non-None if and only if the user was successfully authenticated.
-
micropub_endpoint
¶ string – The endpoint to POST micropub requests to.
-
access_token
¶ string – The authorized user’s micropub access token.
-
state
¶ string – The optional state that was passed to authorize.
-
scope
¶ string – The scope that comes with the micropub access token
-
error
¶ string – describes the error encountered if any. It is possible that the authentication step will succeed but the access token step will fail, in which case me will be non-None, and error will describe this condition.
-
-
class
flask_micropub.
MicropubClient
(app=None, client_id=None)[source]¶ Flask-Micropub provides support for IndieAuth/Micropub authentication and authorization.
-
authenticate
(me, state=None, next_url=None)[source]¶ Authenticate a user via IndieAuth.
Parameters: - me (string) – the authing user’s URL. if it does not begin with https?://, http:// will be prepended.
- state (string, optional) – passed through the whole auth process, useful if you want to maintain some state, e.g. the starting page to return to when auth is complete.
- next_url (string, optional) – deprecated and replaced by the more general “state”. still here for backward compatibility.
Returns: a redirect to the user’s specified authorization url, or https://indieauth.com/auth if none is provided.
-
authenticated_handler
(f)[source]¶ Decorates the authentication callback endpoint. The endpoint should take one argument, a flask.ext.micropub.AuthResponse.
Authorize a user via Micropub.
Parameters: - me (string) – the authing user’s URL. if it does not begin with https?://, http:// will be prepended.
- state (string, optional) – passed through the whole auth process, useful if you want to maintain some state, e.g. the starting page to return to when auth is complete.
- next_url (string, optional) – deprecated and replaced by the more general “state”. still here for backward compatibility.
- scope (string, optional) – a space-separated string of micropub scopes. ‘read’ by default.
Returns: a redirect to the user’s specified authorization https://indieauth.com/auth if none is provided.
Decorates the authorization callback endpoint. The endpoint should take one argument, a flask.ext.micropub.AuthResponse.
-
init_app
(app, client_id=None)[source]¶ Initialize the Micropub extension if it was not given app in the constructor.
Parameters: - app (flask.Flask) – the flask application to extend.
- client_id (string, optional) – the IndieAuth client id, will be displayed when the user is asked to authorize this client. If not provided, the app name will be used.
-