Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
test-it
test_oauth2_django
Commits
af5578e3
Commit
af5578e3
authored
Nov 05, 2017
by
Sharad Heft
Browse files
Create or update token object whenever a user logs in.
parent
50ef4696
Changes
2
Hide whitespace changes
Inline
Side-by-side
test_oauth/backend.py
View file @
af5578e3
...
...
@@ -5,9 +5,12 @@ from django.conf import settings
from
django.db
import
transaction
from
test_oauth.models
import
TESTOAuth2Data
class
TESTOAuth2Backend
(
ModelBackend
):
def
authenticate
(
self
,
id
=
None
,
username
=
None
,
**
profile
):
if
id
is
None
or
username
is
None
:
def
authenticate
(
self
,
token
=
None
,
id
=
None
,
username
=
None
,
**
profile
):
if
id
is
None
or
username
is
None
or
token
is
None
:
return
None
user
,
_
=
get_user_model
().
objects
.
get_or_create
(
...
...
@@ -15,6 +18,14 @@ class TESTOAuth2Backend(ModelBackend):
username
=
username
)
data
,
_
=
TESTOAuth2Data
.
objects
.
update_or_create
(
user
=
user
,
defaults
=
{
'access_token'
:
token
[
'access_token'
],
'refresh_token'
:
token
[
'refresh_token'
],
}
)
if
getattr
(
settings
,
'TEST_OAUTH_CREATE_GROUPS'
,
False
):
self
.
_do_create_groups
(
user
,
profile
.
get
(
'groups'
,
[]))
...
...
test_oauth/views.py
View file @
af5578e3
...
...
@@ -31,6 +31,6 @@ def callback(request):
session
=
TESTOAuth2Session
(
token
=
token
)
auth
.
login
(
request
,
auth
.
authenticate
(
**
session
.
profile
))
auth
.
login
(
request
,
auth
.
authenticate
(
token
=
token
,
**
session
.
profile
))
return
redirect
(
getattr
(
settings
,
'TEST_OAUTH_REDIRECT'
,
'/'
))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment