wq.db's REST API provides a simple authentication service powered by Django's auth module.  When wq.db.rest.auth is included in your INSTALLED_APPS, the following URLs will be registered with the router.
| url | purpose | 
|---|---|
/login | 
Displays a form for entering username and password.  Note that it is up to you to provide the required template, login.html. | 
/login.json | 
Used by wq/app.js to submit and/or verify login information. A successful login will return the user information as well as a user-specific wq configuration object. | 
/logout | 
Logs out the user and displays a success message.  Note that it is up to you to provide the required template, logout.html. | 
/logout.json | 
Used by wq/app.js to log out the user via AJAX. | 
As an alternative to traditional username/password authentication, wq.db is designed to work with Python Social Auth, which provides a wide array of social-network-powered authentication options.  Most social auth URLs are configured separately by that library, and do not require custom templates.  The one common customization is to provide a list of connected social networks in e.g. a user profile page.  This can be done in by leveraging the custom social_auth information provided by wq.db as an attribute on the user context variable:
{
  "username": "myusername",
  // ...
  "social_auth": {
    "accounts": [{
      "provider_id": "myface"
      "provider_label": "MyFace",
      "id": 1234,
      "label": "myusername@myface",
      "can_disconnect": false
    }]
  }
}
wq.db.rest.auth.context_processors provides an {{#is_authenticated}} context variable for use in rendering templates that require authenticated users.  It is recommended to always place references to the {{#user}} template variable inside of the {{#is_authenticated}} block, e.g.:
{{#is_authenticated}}
  {{#user}}
    Logged in as {{username}}
    {{#social_auth}}
    Connected Accounts:
    <ul>
    {{#accounts}}
      <li>
        <img src="/images/{{provider_id}}.png">
        {{label}} ({{provider_label}})
      </li>
    {{/accounts}}
    </ul>
  {{/user}}
{{/is_authenticated}}
        
        
          Last modified on 2018-06-12 12:03 PM
          Edit this Page |
          Suggest Improvement
          
          © 2013-2019 by S. Andrew Sheppard