File: reddit.rst

package info (click to toggle)
python-social-auth 0.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,828 kB
  • ctags: 3,245
  • sloc: python: 12,867; makefile: 119; sh: 3
file content (33 lines) | stat: -rw-r--r-- 1,197 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Reddit
======

Reddit implements `OAuth2 authentication workflow`_. To enable it, just follow:

- Register an application at `Reddit Preferences Apps`_

- Fill the **Consumer Key** and **Consumer Secret** values in your settings::

    SOCIAL_AUTH_REDDIT_KEY = ''
    SOCIAL_AUTH_REDDIT_SECRET = ''

- By default the token is not permanent, it will last an hour. To get
  a refresh token just define::

    SOCIAL_AUTH_REDDIT_AUTH_EXTRA_ARGUMENTS = {'duration': 'permanent'}

  This will store the ``refresh_token`` in ``UserSocialAuth.extra_data``
  attribute, to refresh the access token just do::

    from social.apps.django_app.utils import load_strategy

    strategy = load_strategy(backend='reddit')
    user = User.objects.get(pk=foo)
    social = user.social_auth.filter(provider='reddit')[0]
    social.refresh_token(strategy=strategy,
                         redirect_uri='http://localhost:8000/complete/reddit/')

  Reddit requires ``redirect_uri`` when refreshing the token and it must be the
  same value used during the auth process.

.. _Reddit Preferences Apps: https://ssl.reddit.com/prefs/apps/
.. _OAuth2 authentication workflow: https://github.com/reddit/reddit/wiki/OAuth2